Performance enhancements for threaded servers

   
   

A technique, system, and computer program for enhancing performance of a computer running a multithreaded server application. A scheduling heuristic is defined for optimizing the number of available threads. This heuristic alleviates over-scheduling of worker threads by defining a technique to wait to assign an incoming request to a currently-executing thread (upon completion of the thread's current work), instead of awakening a blocked thread for the incoming request. Provision is made to ensure no thread waits too long. Two stages are associated with a passive socket, so that a connection is only bound to a worker thread when work arrives for that connection. A new type of socket is defined, for merging input from more than one source and making that merged input available for scheduling. A giveback function is defined, for optimizing assignment of threads to incoming requests when persistent connections are used. Threads that go idle are put onto an idle queue, releasing them from a worker thread.

Een techniek, een systeem, en een computerprogramma om prestaties van een computer te verbeteren die een multithreaded servertoepassing in werking stelt. Heuristisch plannen wordt bepaald voor het optimaliseren van het aantal beschikbare draden. Dit heuristisch vermindert over-plant van arbeidersdraden door een techniek te bepalen wachten om een inkomend verzoek aan een momenteel-uitvoert draad (op voltooiing van het huidige werk van de draad), toe te wijzen in plaats van het wekken van een geblokkeerde draad voor het inkomende verzoek. De maatregel wordt getroffen te garanderen geen draad te lang wacht. Twee stadia worden geassocieerd met een passieve contactdoos, zodat een verbinding aan een arbeidersdraad slechts verbindend is wanneer het werk voor die verbinding aankomt. Een nieuw type van contactdoos wordt bepaald, voor samenvoegende input van meer dan één bron en het ter beschikking stellen van die samengevoegde input voor het plannen. Een givebackfunctie wordt bepaald, voor het optimaliseren van taak van draden aan inkomende verzoeken wanneer de blijvende verbindingen worden gebruikt. De draden die nutteloos gaan worden gezet op een nutteloze rij, vrijgevend hen van een arbeidersdraad.

 
Web www.patentalert.com

< Method and system for caching across multiple contexts

< Increased computer peripheral throughput by using data available withholding

> Threading and communication architecture for a graphical user interface

> Control object and user interface for controlling networked devices

~ 00144