Skip to content

Instantly share code, notes, and snippets.

@nashley
Last active November 1, 2016 02:17
Show Gist options
  • Select an option

  • Save nashley/af02c6ee9cb606fb9f223adf0529f416 to your computer and use it in GitHub Desktop.

Select an option

Save nashley/af02c6ee9cb606fb9f223adf0529f416 to your computer and use it in GitHub Desktop.
Ideas for a distributed computing system

Create a system for creating/handling requests with a large number of clients.

#Ideas for options

  • OS
    • Linux
    • *nix
    • Windows
    • OS X
    • any
  • Prerequisites (ability to install these at will)
    • python
    • blender
    • cgminer
    • custom
  • System type (specified by an appropriate benchmark for each component)
    • large memory
    • fast memory
    • large storage
    • fast storage
    • large number of CPU cores
    • fast CPU cores
    • fast overall CPU performance (MIPS)
    • fast GPU
    • GPU VRAM
    • High bandwidth network
    • Low latency network

#Implementation of ideas

  • See distributed_packet.h
enum operating_systems { // include version of OS as well
linux,
unix,
windows,
osx,
any
};
enum software_requirements {
python3,
python2,
blender,
cgminer,
other,
any
};
enum system_requirement_type {
memory_size, // size of memory (add across DIMMs)
memory_rspeed, // speed of memory read
memory_wspeed, // speed of memory write
storage_size,
storage_rspeed, // speed of storage read (e.g., HDD/SSD)
storage_wspeed, // speed of storage write (e.g., HDD/SSD)
cpu_cores, // number of CPU cores
cpu_core_speed, // benchark for single-core performance
cpu_speed, // benchmark for total CPU speed; NOT clock speed
gpu_cores, // number of gpus cores present in the system; add those in crossfire
gpu_speed, // benchmark for GPU; expand to OpenCL, OpenGL, etc.
num_networks, // number of NICs
network_bandwidth, // WAN bandwidth speed; fast.com or the like
network_latency, // latency to google.com or the like
};
struct system_specs {
enum system_requirement_type,
int value // use defined-length for int to ensure cross-platform continuity?
};
struct dpacket {
enum operating_systems,
enum software_requirements,
enum system_specs[]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment