Giter VIP home page Giter VIP logo

webpage's Introduction

io500

This is the C version of the IO500 benchmark.

Preparation

The program interfaces directly with IOR/MDtest and pfind. To retrieve the required packages and compile the library version, run

$ ./prepare.sh

Then you can compile the io500 application running make.

Usage

The benchmark requires a .ini file containing the options. The .ini file is structured in sections depending on the phase.

Detailed help for the available options is provided when running:

$ ./io500 -h
Synopsis: ./io500 <INI file> [-v=<verbosity level>] [--dry-run]

The benchmark output the commands it would run (equivalence of command line invocations of ior/mdtest). Use --dry-run to not invoke any command.

In order to create a new INI file with all the options, you can execute:

$ ./io500 --list > config-all.ini

The config-some illustrates the setting of various options. For more details, run ./io500 -h.

To see the currently active options, run:

$ ./io500 <file.ini> -h

Integrity check

After a run is completed, the score obtained and the configuration file can be verified to ensure that it wasn't accidentially modified.

You can either use the full-featured io500 application:

$ ./io500 config-test-run.ini  --verify result.txt
config-hash = 1065C0D
score-hash  = C97CC873
[OK] But this is an invalid run!

Or the lightweight verification tool which has fewer dependencies:

$ ./io500-verify config-test-run.ini result.txt

Output

  • The benchmark will output a default set of information in the INI format to simplify parsing. When setting verbosity to 5, you will receive more information.
  • It also stores the output files from IOR and MDTest in the results/ subdirectory with the timestamp of the run.

Example output on the command line

The following is the minimal output when setting verbosity to 0

$ mpiexec -np 2   ./io500 config-minimal.ini
[RESULT]       ior-easy-write        0.186620 GiB/s  : time 0.027 seconds
[RESULT]    mdtest-easy-write      103.300821 kIOPS : time 1.121 seconds
[RESULT]       ior-hard-write        0.001313 GiB/s  : time 0.067 seconds
[RESULT]    mdtest-hard-write       58.939081 kIOPS : time 1.021 seconds
[RESULT]                 find     1486.435084 kIOPS : time 0.118 seconds
[RESULT]        ior-easy-read        1.575557 GiB/s  : time 0.005 seconds
[RESULT]     mdtest-easy-stat      839.392805 kIOPS : time 0.138 seconds
[RESULT]        ior-hard-read        2.272671 GiB/s  : time 0.000 seconds
[RESULT]     mdtest-hard-stat     1212.558124 kIOPS : time 0.050 seconds
[RESULT]   mdtest-easy-delete      160.765642 kIOPS : time 0.753 seconds
[RESULT]     mdtest-hard-read      275.011939 kIOPS : time 0.219 seconds
[RESULT]   mdtest-hard-delete      132.015851 kIOPS : time 0.474 seconds
[SCORE INVALID] Bandwidth 0.172092 GB/s : IOPS 292.625029 kiops : TOTAL 7.096374

This information is also saved in the file result_summary.txt in the respective results directory.

In the same directory, you will also find the result.txt file that contains more information and is stored using the INI file format.

version         = SC20-testing
config-hash     = 25C33C96
result-dir      = ./results/
; START 2020-01-06 10:23:49
; ERROR INVALID stonewall-time != 300


[ior-easy-write]
t_start         = 2020-01-06 10:23:49
exe             = ./ior -C -Q 1 -g -G 271 -k -e -o ./out//ior-easy/ior_file_easy -O stoneWallingStatusFile=./out//ior-easy/stonewall -O stoneWallingWearOut=1 -t 2m -b 2m -F -w -D 1 -a POSIX
; ERROR INVALID Write phase needed 0.020932s instead of stonewall 1s. Stonewall was hit at 0.0s
throughput-stonewall = 0.37
score           = 0.186620
; ERROR INVALID Runtime of phase (0.027088) is below stonewall time. This shouldn't happen!
t_delta         = 0.0271
t_end           = 2020-01-06 10:23:49

[mdtest-easy-write]
t_start         = 2020-01-06 10:23:49
exe             = ./mdtest -n 1000000 -u -L -F -N 1 -d ./out//mdtest-easy -x ./out//mdtest-easy-stonewall -C -W 1 -a POSIX
rate-stonewall  = 109.492799
score           = 103.300821
t_delta         = 1.1207
t_end           = 2020-01-06 10:23:50

[timestamp]
t_start         = 2020-01-06 10:23:50
t_delta         = 0.0000
t_end           = 2020-01-06 10:23:50

[ior-hard-write]
t_start         = 2020-01-06 10:23:50
exe             = ./ior -C -Q 1 -g -G 27 -k -e -o ./out//ior-hard/file -O stoneWallingStatusFile=./out//ior-hard/stonewall -O stoneWallingWearOut=1 -t 47008 -b 47008 -s 1 -w -D 1 -a POSIX
; ERROR INVALID Write phase needed 0.066709s instead of stonewall 1s. Stonewall was hit at 0.0s
throughput-stonewall = 0.00
score           = 0.001313
; ERROR INVALID Runtime of phase (0.067146) is below stonewall time. This shouldn't happen!
t_delta         = 0.0671
t_end           = 2020-01-06 10:23:50

[mdtest-hard-write]
t_start         = 2020-01-06 10:23:50
exe             = ./mdtest -n 1000000 -t -w 3901 -e 3901 -N 1 -F -d ./out//mdtest-hard -x ./out//mdtest-hard-stonewall -C -W 1 -a POSIX
rate-stonewall  = 59.263301
score           = 58.939081
t_delta         = 1.0207
t_end           = 2020-01-06 10:23:51

[find]
t_start         = 2020-01-06 10:23:51
exe             = ./pfind ./out/ -newer ./results//timestampfile -size 3901c -name *01* -C -H 1 -q 10000
found           = 1596
total-files     = 175761
score           = 1486.435084
t_delta         = 0.1184
t_end           = 2020-01-06 10:23:51

[ior-easy-read]
t_start         = 2020-01-06 10:23:51
exe             = ./ior -C -Q 1 -g -G 271 -k -e -o ./out//ior-easy/ior_file_easy -O stoneWallingStatusFile=./out//ior-easy/stonewall -O stoneWallingWearOut=1 -t 2m -b 2m -F -r -R -a POSIX
score           = 1.575557
t_delta         = 0.0054
t_end           = 2020-01-06 10:23:51

[mdtest-easy-stat]
t_start         = 2020-01-06 10:23:51
exe             = ./mdtest -n 1000000 -u -L -F -N 1 -d ./out//mdtest-easy -x ./out//mdtest-easy-stonewall -T -a POSIX
score           = 839.392805
t_delta         = 0.1381
t_end           = 2020-01-06 10:23:51

[ior-hard-read]
t_start         = 2020-01-06 10:23:51
exe             = ./ior -C -Q 1 -g -G 27 -k -e -o ./out//ior-hard/file -O stoneWallingStatusFile=./out//ior-hard/stonewall -O stoneWallingWearOut=1 -t 47008 -b 47008 -s 1 -r -R -a POSIX
score           = 2.272671
t_delta         = 0.0004
t_end           = 2020-01-06 10:23:51

[mdtest-hard-stat]
t_start         = 2020-01-06 10:23:51
exe             = ./mdtest -n 1000000 -t -w 3901 -e 3901 -N 1 -F -d ./out//mdtest-hard -x ./out//mdtest-hard-stonewall -T -a POSIX
score           = 1212.558124
t_delta         = 0.0499
t_end           = 2020-01-06 10:23:51

[mdtest-easy-delete]
t_start         = 2020-01-06 10:23:51
exe             = ./mdtest -n 1000000 -u -L -F -N 1 -d ./out//mdtest-easy -x ./out//mdtest-easy-stonewall -r -a POSIX
score           = 160.765642
t_delta         = 0.7534
t_end           = 2020-01-06 10:23:52

[mdtest-hard-read]
t_start         = 2020-01-06 10:23:52
exe             = ./mdtest -n 1000000 -t -w 3901 -e 3901 -N 1 -F -d ./out//mdtest-hard -x ./out//mdtest-hard-stonewall -E -X -a POSIX
score           = 275.011939
t_delta         = 0.2191
t_end           = 2020-01-06 10:23:52

[mdtest-hard-delete]
t_start         = 2020-01-06 10:23:52
exe             = ./mdtest -n 1000000 -t -w 3901 -e 3901 -N 1 -F -d ./out//mdtest-hard -x ./out//mdtest-hard-stonewall -r -a POSIX
score           = 132.015851
t_delta         = 0.4742
t_end           = 2020-01-06 10:23:53

[SCORE]
MD              = 292.625029
BW              = 0.172092
SCORE           = 7.096374  [INVALID]
hash            = 884F29B
; END 2020-01-06 10:23:53

webpage's People

Contributors

adilger avatar dependabot[bot] avatar gflofst avatar gmarkomanolis avatar jeanbez avatar johnbent avatar juliankunkel avatar kaushikvelusamy avatar seattleplus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

webpage's Issues

Simpify URLs

We should simplify the URL as before "/site/" to be removed.
To the lists, we had short URLs on the certificate such as:
list/20-11

Mechanism to backup database and audit changes

To maintain the database in case of server failure it is desirable to have an offsite backup that is not connected to the web/database host. It would also be desirable for research purposes if the database can be easily exported/imported by others (subject to data embargo before the release of the next list). Finally, it would be useful to be able to audit any changes to the database that are changing the metadata related to a submission (e.g. adding RAM per server, correcting devices per node vs. total devices, etc).

One possible solution for this is to use a MySQL->Git exporting tool to dump the database as a series of SQL statements (e.g. one line per record, sorted in a consistent manner to ensure consistency between backups, via mysqldump -u [user] -p[pass] --skip-extended-insert [database] or similar, maybe a separate file for each table), and then check the resulting text file into Git after each dump. That can make it very clear to human reviewers when new records are added, or when existing records are modified. Having the database in Git ensures that past versions of the database can be verified and recovered easily (e.g. in case of compromise and vandalism) also allows anyone to clone the database easily and import the data into another SQL database without any special permission or access to the host, allowing backups by multiple users. See https://www.viget.com/articles/backup-your-database-in-git/ for example.

Missing 10-node result (SC’20)

The SC'20 "10-node challenge entry" for EPCC's NEXtGenIO system (with GekkoFS) is missing, despite correctly appearing in the full SC'20 list with a score of 239.37.

Fix lists.io500.org

lists.io500.org doesn't work correctly right now. Let's replace it with our own nice page (sharing look/feel) of IO500 pages and just shows a list of our mailing lists. Or . . . probably easier, let's create a page in io500 showing a list of our mailing lists and just have lists.io500.org redirect there.

Changed structure of the page

We had about => steering as subpage.
Now steering is top-level. Should we create subpages in the navigation as it was?

Introductory text to a list

When visiting the IO500.org landing page or a list, there is just the list.
I believe we added a brief description on the VI4IO pages for a good reason.

Temporarily Disable Saving Derived Views

@jeanbez can you please temporarily disable the feature that saves derived views and allows them to be listed and allows them to have comments on them? We need to agree on language on those pages to make it clear that these derived lists are not official IO500 lists but are merely community derived interpretations of the official lists. Subsequently we can use this issue to start drafting that text.

Footer of the page

I believe the footer should be updated:

  • the email of the committee
  • and instead of "2020 — IO500 Lists" should include "IO500 Foundation"

Unify Formating of news

We had one case in which two subnews for a given news was created:
"Congrats to ORNL for their Summit machine which took over the #1 overall spot and also won the “10 Node Challenge”.
"A total of 54 new submissions from 19 different institutions!"
on https://www.jbez.io500.org/site/news

I found the past sublist clearer. We should think about what requirements we have for news and then organize it accordingly.

Download as CSV

It would be nice to have the ability to 'Download as CSV' the lists.

Customized missing column for computed score

I was using the custom field display, and it appears that there is no column showing the computed score for the results:

Screen Shot 2020-07-18 at 19 10 23

This makes it hard to compare beyond the ordering based on the score.

Not a critical issue, but something to fix when you get a chance.

Add webpage at lists.io500.org

lists.io500.org doesn't work correctly right now. Let's replace it with our own nice page (sharing look/feel) of IO500 pages and just shows a list of our mailing lists. Or . . . probably easier, let's create a page in io500 showing a list of our mailing lists and just have lists.io500.org redirect there.

Missing student cluster competition list from SC19 and prepare for SC20

The new site is missing the student cluster competition list that started during SC19 and this moment is only for SC, previous list: https://www.vi4io.org/io500/list/19-11/scc?fields=information__institution,information__sponsor,information__client_nodes,information__client_total_procs,io500__score,io500__bw,io500__md,information__data,information__list_id&equation=&sort_asc=false&sort_by=io500__score&radarmax=6&query=

We plan to have also a new one for SC20. The main list for the student cluster competition will have only this year submissions but we would like also an extra option to see all the submissions across the years.

unable to use "information_md_nodes" in custom score calculation

I'm unable to use io500_md / (information_md_nodes + 1) in a custom calculation. It is reported with "Sorry, but the variable "information_md_nodes" is unknown! Please, make sure that your are using the variable names.", even though the same variable can be used in the selection of columns to display. The same calculation with io500_bw / (information_ds_nodes + 1) works as expected.

Missing student cluster competition for SC19 and prepare for SC20

The new site is missing the student cluster competition list that started during SC19 and this moment is only for SC, previous list: https://www.vi4io.org/io500/list/19-11/scc?fields=information__institution,information__sponsor,information__client_nodes,information__client_total_procs,io500__score,io500__bw,io500__md,information__data,information__list_id&equation=&sort_asc=false&sort_by=io500__score&radarmax=6&query=

We plan to have also a new one for SC20. The main list for the student cluster competition will have only this year submissions but we would like also an extra option to see all the submissions across the years.

Disqus

@jeanbez , the committee discussed today. Please enable Disqus for io500.org pages. Thanks!

Unspecified values in custom equation inherit values from previous entry

Originally from issue #25, the value of the custom equation is not being calculated correctly in all cases.

For example, if the divisor is zero because the fields are unset then it appears to be using the fields from the previous entry in the list:
88716554-760a7200-d0dc-11ea-8f5e-93afa49c90c0

In the Shaheen case, the divisor is 4, which also appears to be the value from the previous entry in the list.

It isn't clear to me whether the calculated result should be "infinity" in this case, and ranked at the top of the list, or if it should be excluded completely? In the VI4IO ranking, I was able to multiply the zero in the numerator, so the result was zero before dividing by zero (NaN) which ranked at the end of the list. It would be nice to have a checkbox like "exclude invalid results" (i.e. Inf and NaN), or allow booleans like "( information_ds_nodes + information_md_nodes > 0 ) *" so the result is multiplied by 0 if the expression isn't true.

CRITICAL: Ranked lists contain entries where users disagreed to be listed

In the submission form, users could manually select if they wish to be listed in the ranked list for 10 Node challenge and the IO500 list, it appears that at the moment just all entries are listed.
We must fix this immediately as we committed to honor the wishes of submitters.
There are many reasons why a submitter may decide not to be listed.
Please compare the lists at VI4IO or the JSON if in doubt.

Change color on a:hover

I find it sometimes not easy to see what is a link and what is bold font.
I think adding in the CSS a:hover to be red color would be good.
Example: site/rules

List release procedure

I believe we could clarify that the "released" list is not final upon the first day of release as the list metadata is typically updated with submitter requests.

Mobile friendly web page

Hi,

Having a mobile friendly web page would be great, to be able to see the menu from the main screen of the phone, for example difference

mobile1

mobile2

duplication of system and missing 10node result

I have a system that appears on both the 10node and the official lists multiple times because I changed the names. For Janelia Research Campus, HHMI, the weka and sharedscratch entries are the same system. Preferred name would be sharedscratch, but whatever is the easiest to implement is fine.

Additionally, My SC20 submission for that system (labelled as weka) was not included in the 10node list, although it appears on the all submissions list:
https://io500.org/site/submissions/view/464

that should supercede this one on the 10node:
https://io500.org/site/submissions/view/102

Comments on differently sorted views of the same list

Hey @jeanbez ,

If I sort a list by say IOPS and then leave a Disqus comment on it, when someone views that list with a different sort criteria, will they see my comment? It might be confusing if they can. Perhaps we should have a separate Disqus comment section for each view.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.