Skip to content

[benchmarking] Get a machine to run benchmarks on #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
24 of 30 tasks
ericsnowcurrently opened this issue Mar 18, 2021 · 8 comments
Closed
24 of 30 tasks

[benchmarking] Get a machine to run benchmarks on #19

ericsnowcurrently opened this issue Mar 18, 2021 · 8 comments
Assignees

Comments

@ericsnowcurrently
Copy link
Collaborator

ericsnowcurrently commented Mar 18, 2021

(We'll also run profiling there.)

It will likely sit in my home office.

The procurement process goes through our team admin, with approval going through Graham.

  • decide on a name for the host (arguably the most important part 😉)
  • order the machine (18 March)
  • receive delivery
  • set up OS
    • install Ubuntu
    • install dev dependencies
    • add limited "benchmarking" user
    • ...
  • set up persistent host in Azure (for tunneling, artifacts, etc.)
    • (having a separate host will help minimize noise/load on the benchmarking machine)
    • provision a VM
    • decide on a name for the host
    • set up DNS?
    • ...
  • expose the machine via the Azure host
    • set up SSH tunneling on the benchmarking machine
    • set up port forwarding (for tunneled SSH)?
  • set up cpython repo
    • clone
    • add remotes
    • build it once
    • ? add a cron job or service to keep master up-to-date
  • set up pyperformance
    • clone the repo
    • add remotes (at least the ericsnowcurrently fork)
    • do "run" once
    • set up a "compile" config
    • do "compile" once
  • add users
  • document access (and maintenance) info, and share privately
  • ? set up automation (see (maybe) Add Tooling and Automation for Benchmarking/Profiling #21)
@ericsnowcurrently
Copy link
Collaborator Author

We took a while to get things sorted out but we're moving forward now. I'm asking for the following (along with a monitor):

  • Dell Precision T5820 (Xeon W-2255, 10 cores, 19MB cache; 64GB ECC RAM; 1TB m.2 SSD)

I considered getting something beefier (e.g. dual-proc) but think this should be more than enough (and costs much less).

Also, FYI, the process to get a server (rather than a "desktop") is distinct, as well as slower and more painful.

@gvanrossum
Copy link
Collaborator

I have no idea what most of that means but it sounds good to me. :-)

@ericsnowcurrently
Copy link
Collaborator Author

FYI, there aren't any updates yet on the computer I ordered. Apparently there's a sizeable backlog on hardware right now due to global supply issues, meaning orders are getting heavily delayed. I will post once delivery is scheduled (and avoid any other updates like this).

@ericsnowcurrently
Copy link
Collaborator Author

ericsnowcurrently commented Mar 26, 2021

Apparently there is a "test lab" on the Microsoft campus were teams can host computers they use for testing, with a number of benefits (e.g. internal procurement, IT staff, remote console, campus facilities). I'm going to follow-up with Derek Keeler, who should have more info. I'll update this comment with any additional info I get.

[Update 1] I spoke with Derek about the "test lab". He gave me a good explanation, some encouragement, and some recommendations. Long story short, we could benefit from using the (MS-internal) service but there are business processes involved (and a long lead time) that make it not worth it for the one or two machines we need. (FYI, I have more details on the MS-internal team, as well as the "lab" and the related business processes, that I won't post here but can provide on request.)

[Update 2] Derek has provided access to an unused machine he has under his desk at work that we can monopolize as a plan B.

@gvanrossum
Copy link
Collaborator

gvanrossum commented Mar 26, 2021 via email

@ericsnowcurrently
Copy link
Collaborator Author

ericsnowcurrently commented Mar 31, 2021

Good news: delivery has been scheduled. The machine should arrive by EOD April 1 (tomorrow) April 2 April 5. [That was a cruel April Fools joke, Fedex!] It will take a day or two to get it set up the way we want and ready to run benchmarks. So if all goes well we can start getting reliable benchmark results Monday (or perhaps sooner).

There will be more to do after that but I'm going to focus on our basic needs first. 🙂

@ericsnowcurrently ericsnowcurrently changed the title Get a machine to run benchmarks on [benchmarking] Get a machine to run benchmarks on Mar 31, 2021
@ericsnowcurrently
Copy link
Collaborator Author

The machine has arrived. I'll be setting it up over the next few days.

@ericsnowcurrently
Copy link
Collaborator Author

We should be good to go on this. There's probably more to do, between tweaks and extra functionality, but we can address those separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants