OCCAM is a project that will serve as the catalyst for the tools, education, and community-building needed to bring openness, accountability, comparability, and repeatability to computer architecture experimentation.
OCCAM takes objects, such as simulator code, from the ephemeral Internet and migrates them to reside within the federated curated space. Once an object is installed onto a node, that node immediately becomes a mirror for any and all resources used to build that object.
When an object is built, a virtual environment is created. Any requests that the object’s build process uses to pull in other extraneous files or repositories will be captured and recorded such that they are also mirrored.
When another OCCAM node imports this object, it may receive the annotations describing the mirrors for all resources required for that object to build. The system is designed to provide an infrastructure such that simulator, benchmark, etc objects can be repeatably built once one node has successfully done so even if the origin of the resources, such as the original url of the code, is destroyed or unavailable.
Workflow Design and Execution
OCCAM allows you to connect various objects together to create a workflow that will be dispatched and executed. With our workflow builder, you just build out the workflow one node at a time. Once you have a workflow, you can create a set of experimentation runs with configuration and simulation parameters you can define. You can automatically generate a set of experimentation runs by sweeping configuration parameters or benchmark binaries.
Object and Artifact Building
OCCAM provides tools to build, debug, and deploy new objects, such as simulators, benchmarks, and tracers, into the federated space. As a developer or researcher, you can augment existing simulators, or build new ones, and have them be immediately available to the rest of the network. Once you deploy them, they will become, like any other curated object, perpetually available. These objects can also make use of any of the generic tools and widgets already available or built in the future.
This system is a general software curation and dispatching tool. It should not be strictly relegated for use in computer architecture research or computer science research in general. Objects can be biological simulators, typesetting tools, image and visualization tools, and even general digital art tools and games. The community at large can and should use this tool to build repeatable and accountable digital objects.
The OCCAM project is sponsored by Division of Computer and Network Systems, National Science Foundation, OCCAM: Open Curation for Computer Architecture Modeling, award number CNS-1305220.
OCCAM is an outcome of the Workshop on a Community Supported Computer Architecture Design and Evaluation Framework held in 2012, which was sponsored by Division of Computer and Communication Foundations, National Science Foundation, Cyberinfrastructure for Computer Architecture Design and Evaluation, award number CCF-1148646.