SAPAilamaki, AnastasiaScheuer, TobiasPsaroudakis, IraklisMay, Norman2024-05-272024-05-272020-01-28https://infoscience.epfl.ch/handle/20.500.14299/208125Systems and method for a task scheduler with dynamic adjustment of concurrency levels and task granularity are disclosed for improved execution of highly concurrent analytical and transactional systems. The task scheduler can avoid both over commitment and underutilization of com-puting resources by monitoring and controlling the number of active worker threads. The number of active worker threads can be adapted to avoid underutilization of computing resources by giving the OS control of additional worker threads processing blocked application tasks. The task scheduler can dynamically determine a number of parallel operations for a particular task based on the number of available threads. The number of available worker threads can be determined based on the average availability of worker threads in the recent history of the application. Based on the number of available worker threads, the partitionable operation can be partitioned into a number of sub operations and executed in parallel.Task scheduling for highly concurrent analytical and transaction workloadspatentUS10545789US2018246755EP2819009US9983903US2016217003US9329899EP2819009EP2819009US201438032250979491