Welcome to High-Throughput Computing as a Service (HTCaaS)
High-Throughput Computing (HTC) consists of running many loosely-coupled tasks that are independent (there is no communication needed between them) but requires a large amount of computing power during relatively a long period of time. Middleware systems such as Condor or BOINC have successfully achieved a tremendous computing power by harnessing a large number of computing resources. However, as the number of jobs and the complexity of scientific applications increase, it becomes a challenge for the traditional middleware systems employing typically a single type of resources (e.g., clusters of workstations, desktop machines over Internet) to solve the given scientific problem within a reasonable amount of time. Also, recent emerging applications requiring millions or even billions of tasks to be processed with relatively short per task execution times have led the traditional HTC to expand into Many-Task Computing (MTC).
Therefore, to effectively support complex and demanding scientific applications, it is inevitable to harness as many computing resources as possible including Supercomputers, Grids, and even Cloud. However, it is challenging for researchers to effectively utilize available resources that are under control by independent resource providers as the number of jobs (that should be submitted at once) increase dramatically (as in parameter sweeps or N-body calculations).
We designed and implemented the HTCaaS (High-Throughput Computing as a Service) system that can hide heterogeneity and complexity of leveraging different computing resources from users, and efficiently submit a large number of jobs at once by effectively managing and exploiting of all available computing resources.
Our Design Philosophy is as followings:
- Ease of Use: We minimize user overhead for handling a large amount of jobs & computing resources
- Intelligent Resource Selection: HTCaaS can automatically select more responsive and effective resources and adapt to the current load by dynamically adjusting acquired resources
- Pluggable Interface to Resources: We adopt GANGA's plugin mechanism for accessing heterogeneous computing resources without hardcoding
- Support for Many Client Interfaces: A wide range of client interfaces are supported including a native WS-interface, Java API, and Client tools (CLI, GUI)
System Architecture & Components
HTCaaS system consists of five server-side modules (Account Manager, User Data Manager, Job Manager, Agent Manager, Monitoring Manager) and two client-side tools (Command-Line Interface and Graphic User Interface).