Communications of the ACM - Special section on computer architecture
Flexible software development for multiple computer systems
IEEE Transactions on Software Engineering
Graphical views of parallel programs
ACM SIGSOFT Software Engineering Notes
Parallel processing: the Cm* experience
Parallel processing: the Cm* experience
DIB—a distributed implementation of backtracking
ACM Transactions on Programming Languages and Systems (TOPLAS)
High-performance operating system primitives for robotics and real-time control systems
ACM Transactions on Computer Systems (TOCS)
Architecture of a message-driven processor
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
CHAOS- kernel support for objects in the real-time domain
IEEE Transactions on Computers - Special Issue on Real-Time Systems
Attacking the process migration bottleneck
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The packer filter: an efficient mechanism for user-level network code
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The duality of memory and communication in the implementation of a multiprocessor operating system
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The characteristics of parallel algorithms
The characteristics of parallel algorithms
Nearest-neighbor mapping of finite element graphs onto processor meshes
IEEE Transactions on Computers
A system for parallel programming
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
A Language and System for the Construction and Tuning of Parallel Programs
IEEE Transactions on Software Engineering
An open enviornment for building parallel programming systems
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Finite-grain message passing concurrent computers
C3P Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1
Moose: a multi-tasking operating system of hypercubes
C3P Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1
Best-first branch-and bound on a hypercube
C3P Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2
C3P Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2
ACM Transactions on Computer Systems (TOCS)
Distributed process groups in the V Kernel
ACM Transactions on Computer Systems (TOCS)
Replicated distributed programs
Proceedings of the tenth ACM symposium on Operating systems principles
Distributed transactions for reliable systems
Proceedings of the tenth ACM symposium on Operating systems principles
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Experience Using Multiprocessor Systems—A Status Report
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Performing remote operations efficiently on a local computer network
Communications of the ACM
Visual language and the GARDEN system
Proceedings of the 5th Interdisciplinary Workshop in Informatics and Psychology on Visualization in Programming-Selected Contributions
A parallel scan conversion algorithm with anti-aliasing for a general-purpose ultracomputer
SIGGRAPH '83 Proceedings of the 10th annual conference on Computer graphics and interactive techniques
TASK forces: Distributed software for solving problems of substantial size
ICSE '79 Proceedings of the 4th international conference on Software engineering
StarOS, a multiprocessor operating system for the support of task forces
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Simulation and expected performance analysis of multiple processor Z-buffer systems
SIGGRAPH '80 Proceedings of the 7th annual conference on Computer graphics and interactive techniques
Monitoring in a software development environment: A relational approach
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Evolution of an Operating System for Large-Scale Shared-Memory Multiprocessors
Evolution of an Operating System for Large-Scale Shared-Memory Multiprocessors
The design and analysis of algorithms for asynchronous multiprocessors.
The design and analysis of algorithms for asynchronous multiprocessors.
Topologies: distributed objects in multicomputers
Topologies: distributed objects in multicomputers
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Distributed Shared Abstractions (DSA) on Multiprocessors
IEEE Transactions on Software Engineering
Lightweight kernel/user communication for real-time and multimedia applications
NOSSDAV '01 Proceedings of the 11th international workshop on Network and operating systems support for digital audio and video
Journal of Systems and Software
Experience distributing objects in an SMMP OS
ACM Transactions on Computer Systems (TOCS)
Hi-index | 0.01 |
Application programs written for large-scale multicomputers with interconnection structures known to the programmer (e.g., hypercubes or meshes) use complex communication structures for connecting the applications' parallel tasks. Such structures implement a wide variety of functions, including the exchange of data or control information relevant to the task computations and/or the communications required for task synchronization, message forwarding/filtering under program control, and so on. Topology is a programming and operating system construct that allows programmers to describe and efficiently implement such functionality as distributed objects with well-defined operational interfaces. As with abstract data types, topologies may be reused by any application desiring their functionality. However, in contrast to other research in parallel or distributed object-based operating systems, internally, a topology may be an entirely distributed implementation of the object's functionality, consisting of a communication graph and type-specific computations, which are triggered by messages traversing the graph. Sample computations may perform additions or minimizations of the values traversing a topology, thereby computing a global sum or minimum. Similarly, computations may concatenate or filter messages in order to implement program monitoring, I/O, file storage, or virtual terminal services.Topologies are implemented as an extension of the Intel iPSC hypercube's operating system kernel and have been used with several, large-scale parallel application programs.