Boavizta / boaviztapi

🛠 Giving access to BOAVIZTA reference data and methodologies trough a RESTful API
GNU Affero General Public License v3.0
68 stars 23 forks source link

Server components smart complete #6

Closed da-ekchajzer closed 2 years ago

da-ekchajzer commented 2 years ago

Epic

Server

US

As an external user I can send incomplete data describing server components To receive its impacts (missing data will be dynamically determined)

Route(s) involved

components server

Process

The user send data concerning the server components. Matching components are found by the characteristics send by the user. FIND() Default data are always the maximizing data (in terms of impacts)

FOREACH COMPONENTS
   IF component IS complete
       DO NOTHING
   ELSE IF FIND(component) == 0
       USE DEFAULT DATA 
   ELSE IF FIND(component) == 1
      USE FOUND COMPONENT
   ELSE IF FIND(component) > 1
       USE FOUND MAXIMIZING COMPONENT

Notes

Smart complete should be implemented at component level. Each call to the component route could be smart completed.

da-ekchajzer commented 2 years ago

Components data

CPU

CPU Family | Introduction Year | Process (nm) | Die size (mm2) | Core Number | Size/Core (mm2) -- | -- | -- | -- | -- | -- Skylake | 2017 | 14 | 694 | 28 | 24.8 Skylake | 2017 | 14 | 485 | 18 | 26.9 Skylake | 2017 | 14 | 325 | 10 | 32.5 Coffee Lake | 2017 | 14 | 149 | 6 | 24.8 Coffee Lake | 2017 | 14 | 174 | 8 | 21.8 Broadwell | 2014 | 14 | 456 | 24 | 19.0 Broadwell | 2014 | 14 | 306 | 14 | 21.9 Broadwell | 2014 | 14 | 246 | 10 | 24.6 Haswell | 2013 | 22 | 622 | 18 | 34.6 Ivy Bridge | 2011 | 22 | 160 | 4 | 40.0 Ivy Bridge | 2011 | 22 | 257 | 6 | 42.8 Ivy Bridge | 2011 | 22 | 341 | 10 | 34.1 Ivy Bridge | 2011 | 22 | 541 | 15 | 36.1 Sandy Bridge | 2010 | 32 | 216 | 4 | 54.0

RAM

Constructeur | Architecture | Go/cm2 -- | -- | -- Samsung | 30nm | 0.625 Samsung | 25nm | 1.25 Samsung | 20nm | 1.75 Samsung | 18nm | 2.38 SK hynix | 30nm | 0.750 SK hynix | 26nm | 1.00 SK hynix | 21nm | 1.31 SK hynix | 21nm | 1.88 Micron | 30nm | 0.750 Micron | 30nm | 0.875 Micron | 20nm | 1.13 Micron | 20nm | 1.13

SSD

Constructeur | Densité de stockage (Go/cm2) -- | -- Micron | 49.6 Toshiba | 48.5 Samsung | 53.6
samuelrince commented 2 years ago

Example of POST request body:

{
    "model":
    {
        "manufacturer": "Dell",
        "name": "R740",
        "type": "rack",
        "year": 2020
    },
    "configuration":
    {
        "cpu":
        {
            "units": 2,
            "core_units": 24,
            "die_size_per_core": 0.245
        },
        "ram":
        [
            {
                "units": 12,
                "capacity": 32,
                "density": 1.79
            }
        ],
        "disk":
        [
            {
                "units": 1,
                "type": "ssd",
                "capacity": 400,
                "density": 50.6
            }
        ],
        "power_supply":
        {
            "units": 2,
            "unit_weight": 2.99
        }
    },
    "add-method": "",
    "add-date": ""
}

Outputs:

{
    "gwp": 969.8023516103958,
    "pe": 12896.469589529004,
    "adp": 0.1491889078742977
}