🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #3534

Re: Capabilities and Object Oriented Programming

#3534
From: Hugh LaMaster
Date: Tue, 20 Mar 1990 02:07
38 lines
2629 bytes
At some time in the distant past (say, 8-10 years ago...) there was a flurry
of activity in Capability based computer systems.  One of the ideas in
vogue at the time was *System Level Objects*.  That is, that it would be a
*good idea* if you could give separate capabilities to individual objects.
Some good results came out of some of these efforts, but, at that time, 
there really wasn't that much interest in OOP.

(Aside: by system level objects, I mean giving each object process-like
properties, with a separate address space, etc.  This sort of approach
is generally referred to as a Capability-Based system, although sometimes
people mean varous things by that term.)

Now, ignoring for the moment whether it is a *good idea* to do this, it could
have some performance problems :-)  OOP systems like Smalltalk can require
the creation and destruction of ~10,000 objects/sec/VUPS.  To support system
level objects, this would require modification of page tables at the same
rate.  (At least; it could also require a lot more things besides.  I guess
it depends on what capabilities are available.  But, at the least you need
to create an address space and identify it to the other objects in the system.)
Now, a TLB miss on some recent systems costs around 10-20 instruction
cycles.  But, how about a page table modification?  Does anyone know how
expensive creating or deleting an entry is?  (On example systems, such
as a MIPS or SPARC system running Unix, etc.)  I don't know whether the
cost of object creation would be as great as process creation, but I would
guess that process creation would set an upper bound, anyway.
You also need to be able to send messages from one object to the next
efficiently.  I don't know at what rate messages are sent in such systems.
Presumably System 38/etc. data might be of some help, but I have seen
precious little hard data published about that architectural family.

What would be the best page table organizations to support this?
(Inverted Page Tables, for example...)


  Hugh LaMaster, M/S 233-9,  UUCP ames!lamaster
  NASA Ames Research Center  ARPA lamaster@ames.arc.nasa.gov
  Moffett Field, CA 94035     
  Phone:  (415)604-6117       
Technical Details
Message-ID: <45425@ames.arc.nasa.gov>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!mailrus!ames!ames.arc.nasa.gov!lamaster

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!mailrus!ames!ames.arc.nasa.gov!lamaster
From: lamaster@ames.arc.nasa.gov (Hugh LaMaster)
Newsgroups: comp.arch
Subject: Re: Capabilities and Object Oriented Programming
Message-ID: <45425@ames.arc.nasa.gov>
Date: 20 Mar 90 02:07:29 GMT
Sender: usenet@ames.arc.nasa.gov
Organization: NASA - Ames Research Center
Lines: 38