Bridging the semantic gap between operating system and middleware
General-purpose operating systems (OSs) are designed to provide system resources to applications running on a system in a fair manner at system-level. However, a single application may find it difficult to fully exploit the system’s best performance due to this system-level fairness. Middleware, such as database or java virtual machine(JVM), is a kind of application that sits between user application and OS. For performance reasons, many middleware systems implement their own mechanisms that OSs already provide, under the assumption that they know better about the data than OSs. They can be greedily optimized for performance, but this may result in inefficient use of system resources. Our lab is working on bridging the semantic gap between operating system and middleware system for higher application performance without sacrificing system-level resource utilization. They can be realized with simple OS support with minor application(middleware) modification.