Communications of the ACM - Special section on computer architecture
Flexible software development for multiple computer systems
IEEE Transactions on Software Engineering
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
The characteristics of parallel algorithms
The characteristics of parallel algorithms
Nearest-neighbor mapping of finite element graphs onto processor meshes
IEEE Transactions on Computers
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
C3P Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2
ACM Transactions on Computer Systems (TOCS)
Experience Using Multiprocessor Systems—A Status Report
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
StarOS, a multiprocessor operating system for the support of task forces
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
C3P Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2
Hi-index | 0.00 |
The programming of a large-scale multicomputer that exhibits an interconnection structure known to the applications programmer (e.g. a hypercube or mesh) requires the explicit construction and use of complex communication structures for connecting the application's parallel tasks. Such structures are used for a wide variety of functions, including the exchange of data or control information relevant to the tasks' computations and/or communications required for task synchronization, message forwarding/filtering under program control, and others. Topologies is an operating system construct with which programmers may efficiently implement arbitrary communication graphs linking multiple tasks of a parallel program. In addition, with each topology may be associated user-defined services, which may perform computations for communications traversing the topology. For example, application-dependent services may compute global sums or minima for values being communicated among the tasks linked by a topology, and the operating system or programmer may use a topology's concatenation service in the implementation of monitoring, file storage, or virtual terminal services.Communication topologies are currently implemented as an extension of the Intel iPSC hypercube's operating system kernel and are used with several applications programs, including a large finite element analysis program used for metalforming applications (termed ALPID). Future extensions concern the restructuring of the operating system kernel to support services of different 'weights' and hardware support for the efficient execution of selected services in conjunction with message routing.