Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
Kqueue - A Generic and Scalable Event Notification Facility
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Hume: a domain-specific language for real-time embedded systems
Proceedings of the 2nd international conference on Generative programming and component engineering
A User-Level Framework for Scheduling within Service Execution Environments
SCC '04 Proceedings of the 2004 IEEE International Conference on Services Computing
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
Connection scheduling in web servers
USITS'99 Proceedings of the 2nd conference on USENIX Symposium on Internet Technologies and Systems - Volume 2
A user-mode port of the linux kernel
ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
Application-specific thread schedulers
Application-specific thread schedulers
Application-Level Scheduling Using AOP
Transactions on Aspect-Oriented Software Development V
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Domain Specific Languages
Building portable thread schedulers for hierarchical multiprocessors: the bubblesched framework
Euro-Par'07 Proceedings of the 13th international Euro-Par conference on Parallel Processing
Application-specific thread schedulers for distributed applications
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
This paper describes CATAPULTS (Creating And Testing APplication-specific User Level Thread Schedulers), a domain-specific language for creating and testing application-specific user-level thread schedulers. Using a domain-specific language to write user-level thread schedulers provides three advantages. First, doing so modularizes the thread scheduler, making it easy to plug in and experiment with different thread scheduling strategies. Second, using a domain-specific language for scheduling code helps prevent several of the common programming mistakes that are easy to make when developing thread schedulers. Finally, the CATAPULTS translator has multiple backends that generate code for different languages and libraries. This makes it easy to prototype an application in a high-level language and then later port it to a low-level language; the CATAPULTS translator will take care of generating the appropriate code for both the prototype and the final version of the program from a single scheduler specification. This paper describes how we have used CATAPULTS to improve the performance of two important and representative Internet server applications. Copyright © 2011 John Wiley & Sons, Ltd.