This page refers to the gLite version of CREAM. For CREAM released with EMI, please refer to the new CREAM wiki:

The CREAM (Computing Resource Execution And Management) Service is a simple, lightweight service that implements all the operations at the Computing Element (CE) level; its well-defined WebService-based interface and its implementation as an extension of the Java-Axis servlet (running inside the Apache Tomcat container) provide interoperability with clients written in any programming language and running on any computer platform.

The CREAM interface is well-defined using the Web Service Description Language (WSDL); anyone can generate his/her CREAM client by simply filling in the stub code generated by WSDL parser (gSOAP for C/C++, Axis for Java, Perl module for perl).

CREAM Main functionality:

  • Job Submission
    • Possibility of direct staging of input sandbox files
    • GLITE WMS JDL compliance (with CREAM-specific extensions)
    • Support for batch and MPI jobs
    • Support for bulk jobs being integrated
  • Manual and automatic proxy delegation
  • Job Cancellation
  • Job Info with configurable level of verbosity and filtering based on submission time and/or job status
  • Job List
  • Job Suspension and Resume
  • GSI based authentication
  • VOMS based authorization
  • Job Purge for terminated jobs
  • Possibility (for admin) to disable new submissions

CREAM can be used

  • by the Workload Management System (WMS), via the ICE (Interface to CREAM Environment) service
  • by a generic client, e.g. an end-user willing to directly submit jobs to a CREAM CE. A C++ command line interface and Java clients are available.

Thanks to ICE (a gSOAP/C++ intermediate layer) CREAM can receive job operations directly from a Grid WMS (Workload Management System). ICE basically has the role that the Job Controller (LC) + Log Monitor (LM) + CondorG play when dealing with non-CREAM CEs