generalized signals: an interrupt-based communication system for hypercubes
This paper describes a communication system designed to support highly asynchronous application or system software on a distributed-memory multicomputer such as a hypercube. The system is called generalized signals because it is based on the signal facility in System V UNIX, with enhancements to allow signals to carry data. Any processor can send a signal to any other processor at any time. When a signal arrives, the receiving processor traps to a user-specified subroutine; when this subroutine is finished the interrupted code is resumed. Signal interrupts happen in a controlled manner, thereby simplifying the programmer's task. There is a facility for protection of critical sections in user programs. The generalized signals system has been implemented on the NCUBE hypercube. This implementation is based on a modified version of NCUBE's VERTEX message-passing system. Generalized signals can coexist with VERTEX messages and the enhancements to VERTEX are transparent to ordinary programs.
general signaling interrupt communication systems systems hypercube paper support asynchronicity applications software data processor timing user code program programmer task protection critical section implementation version message message-passing transparency memorialized distributed