摘要:
An operating system directed to using special properties of a common inter-process communications mechanism (IPC), namely UNIX domain socket-pairs or stream-pipes alternatively as a storage medium for file-descriptors of UNIX processes. When a file-descriptor is written into a socket-pair, and closed in the UNIX process, the file remains open, but occupies no space in the process' file-table. The file-descriptor may later be read out of the socket-pair to reestablish it in the file-table, and access it. This property is implemented in an IPC mechanism of UNIX operating system whereby a process such as a dispatcher may manage more connections and processes than its file-table size allow. This provides scalability improvements of the UNIX operating system.
摘要:
A communications multiplexor includes dispatcher processes for monitoring client connections. The dispatcher processes detect activity on those connections, and then pass active physical (client) connections to agent processes for servicing. Transfer is done through specific connection queues that are associated with a set of agents. A multi-queuing structure permits pooling of agents on a set of shared resources thereby reducing time required to switch between different client connections. After an agent has serviced a given connection, the agent returns that connection to the agent's dispatcher (there is a static assignment between connections and dispatchers), and then reads the next unit of work from the agent's associated connection queue. This structure may be scalable while allowing optimal performance when passing physical connections between processes.
摘要:
A system and method for managing deadlocks in a database management system (DBMS) for a demultiplexed database system. The DBMS supports applications that are capable of holding and retaining locks on database resources while disassociated from worker agents. The system and method includes an application scheduler for managing requests for access to the database, and a deadlock detector for identifying a deadlock. The application scheduler assigns one worker agent to an application requesting access to a database resource, assigns a flag to an application holding a lock on the database resource while disassociated from a worker agent, and in cooperation with the deadlock detector, resolves the deadlock between the application requesting access and the flagged application holding the lock.