An improved scalability runtime system for a global address space language
running on a distributed or shared memory machine uses a directory of
shared variables having a data structure for tracking shared variable
information that is shared by a plurality of program threads. Allocation
and de-allocation routines are used to allocate and de-allocate shared
variable entries in the directory of shared variables. Different routines
can be used to access different types of shared data. A control structure
is used to control access to the shared data such that all threads can
access the data at any time. Since all threads see the same objects,
synchronization issues are eliminated. In addition, the improved
efficiency of the data sharing allows the number of program threads to be
vastly increased.