“Announcing the third version of his syslets subsystem patches,
Ingo Molnar noted that he has implemented many fundamental changes
to the code including the introduction of threadlets, ”threadlets’
are basically the user-space equivalent of syslets: small functions
of execution that the kernel attempts to execute without
scheduling. If the threadlet blocks, the kernel creates a real
thread from it, and execution continues in that thread. The ‘head’
context (the context that never blocks) returns to the original
function that called the threadlet.’ As threadlets are only moved
into a separate thread context if they block, Ingo refers to them
as ‘optional threads’. He also describes them as ‘on-demand
parallelism’, ‘user-space does not have to worry about setting up,
sizing and feeding a thread pool–the kernel will execute the
workload in a single-threaded manner as long as it makes sense, but
once the context blocks, a parallel context is created. So
parallelism inside applications is utilized in a natural
way…'”
KernelTrap: Syslets & Threadlets
By
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends, & analysis