See:
          Description

Packages
com.intel.cosbench.api.amplistor  
com.intel.cosbench.api.auth  
com.intel.cosbench.api.context  
com.intel.cosbench.api.keystone  
com.intel.cosbench.api.mock  
com.intel.cosbench.api.storage  
com.intel.cosbench.api.swauth  
com.intel.cosbench.api.swift  
com.intel.cosbench.bench  
com.intel.cosbench.client.amplistor  
com.intel.cosbench.client.http  
com.intel.cosbench.client.keystone  
com.intel.cosbench.client.keystone.handler  
com.intel.cosbench.client.swauth  
com.intel.cosbench.client.swift  
com.intel.cosbench.config  
com.intel.cosbench.config.castor  
com.intel.cosbench.config.common  
com.intel.cosbench.controller.archiver  
com.intel.cosbench.controller.handler  
com.intel.cosbench.controller.model  
com.intel.cosbench.controller.repository  
com.intel.cosbench.controller.schedule  
com.intel.cosbench.controller.service  
com.intel.cosbench.controller.tasklet  
com.intel.cosbench.controller.web  
com.intel.cosbench.driver.agent  
com.intel.cosbench.driver.handler  
com.intel.cosbench.driver.iterator  
com.intel.cosbench.driver.model  
com.intel.cosbench.driver.operator  
com.intel.cosbench.driver.random  
com.intel.cosbench.driver.repository  
com.intel.cosbench.driver.service  
com.intel.cosbench.driver.util  
com.intel.cosbench.driver.web  
com.intel.cosbench.exporter  
com.intel.cosbench.log  
com.intel.cosbench.log.log4j  
com.intel.cosbench.log.osgi  
com.intel.cosbench.model  
com.intel.cosbench.protocol  
com.intel.cosbench.service  
com.intel.cosbench.tomcat  
com.intel.cosbench.tomcat.osgi  
com.intel.cosbench.utils  
com.intel.cosbench.web  

 

Description

COSBench (Cloud Object Storage Benchmark) is a benchmark tool that we are developing in Intel with the intention of facilitating both system evaluation and performance optimization.

So far the tool is available under NDA, and we are working on the process to open source it. It has been shared among over 10 entities including both inside and outside Intel.


Distributed Test Architecture

COSBench is with distributed test architecture, in deployment, it contains a few components: controller, driver (a.k.a load generator) and web console. One normal workflow is as following:

  1. user submits one defined workload (in xml file) through web console to controller,
  2. controller parses the workload configuration file, and schedules portions of the workload (called mission) to different drivers.
  3. driver parses its mission and generate loads by following instructions in mission.
  4. controller regularly collects run-time statistics from drivers and aggregates them.
  5. web console periodically queries results from controller and shows run-time results.

deployment
Deployment Diagram


Modular Framework

COSBench is developed with Java and OSGI-based, which provides good cross platform compatibility and highly modular framework. A few modules (a.k.a. OSGI bundles) are included in COSBench project, below diagram depicts the relationship between them.

module
Dependency Diagram


Features

COSBench is highly extensible and scalable, with mainly the following features:


web console
Web Console operate through browsers

workload
Workload flexible & customizable via xml configuration

snapshot
Snapshot realtime monitoring

smart report
Smart Report comprehensive & auto archive

timeline plotting
Timeline Plotting continuous perf. reading

matrix
Perf. Matrix easily compare different test cases

We now support Openstack Swift (with either Swauth or Keystone), and amplidata amplistor v2.3, v2.5 and v3.1 system. More adaptors will be added in the future!