This book focuses on resource management techniques for distributed systems, which are essential for efficiently utilizing computational resources ranging from clusters to clouds. It explores principles and algorithms necessary for managing resources in parallel and distributed systems, addressing key topics such as process and thread management, grid and cloud computing, and innovative approaches like edge computing. The volume is structured into two parts, with the first discussing the evolution of distributed systems and the second highlighting specific resource management challenges such as allocation, scheduling, auto-scaling, and handling uncertainties in workload. Targeted at students, researchers, and industry professionals, the book aims to provide a comprehensive understanding of resource management to optimize performance and energy consumption in distributed computing environments. |