Ideas: Expand computational capabilities (power and/ or number of computers), increase efficiency of code, streamline workflows, etc.
Purpose of page
Write down concerns, ideas, and efforts as understood by Chemistry IT so research group members can review and correct.
Request from group: Buy a server to process multiple Matlab calculation simultaneously
Outstanding questions:
- Windows or Linux? Past testing by researchers have yielded faster processing on servers running Linux than Windows. Some researchers only comfortable working within Windows.
- If Windows, how will user accounts and access work? How many simultaneously? Per user or shared accounts? How manage contention, if desired?
- Coordinate monthly (or every 3 months) shutdown periods to ensure baseline patching and OS, file-share and hardware checking.
- Any value in Dual 10-Gigabit Ethernet?
- Warranty upgrades (all non-NBD):
- 3 => 4 years: +$169
3 => 5 years: +$434
Server spec suggestions and costs
Criteria | Current deskop's specs | ~4 TIMES the desktop specs is minumum proposed server | Cost increase if go up about a level or so | Borrowed Dell's specs | Notes |
---|---|---|---|---|---|
Cores, hyper-threading (HT) | 4 cores (one processor) No HT i5-6500, 3.20 GHz | Total 16 cores (Two, 8-cores each) HT-capable Each: Xeon Silver 4110 | +$460: 16 total cores => 20 total cores +$1,200: 16 total cores => 24 total cores See chart below for options with more cores, focusing on slowest (thus cheaper) speeds. Also, see section below chart for why we are pricing two-processor server options instead of single- or four-processor servers. | 16 cores (Two, 8 cores each) HT-capable Each: The now-older processor, Xeon E5-2620v4 | Q: Testing performance difference between using HT and not using HT? |
Storage All SSD, unless otherwise noted | 500 GB SSD | 2TB is 4 times the space: 2.0TB Samsung 960 PRO M.2 PCIe 3.0 x4 NVMe Solid State Drive (cost is $1,100) This is the fastest option since combines OS and data on fast bus. However, this may be the maximum TBs of storage doing it this way. (Can dig deeper, if necessary to decision-making.) | If need more than 2TB total, must use more complicated multiple storage option. Example: OS only: 512GB Samsung 960 PRO M.2 PCIe 3.0 x4 NVMe Solid State Drive (cost is $399). AND choose a single main storage drive. For example: Data ONLY fast SSD:
Data ONLY slow spinning, compared to current desktop:
| SSD (size n/a, at 400GB) | If Windows, buy $xx software on server (free clients) to enable moving large amounts of data to server more speedily. Large amounts of data not needed to be stored on server, nor moved from server (simply deleted after processing). |
RAM | 32 GB | 128 GB | $xx: 128 GB => 256 GB? | 32 GB | |
Other | Required: UPS ($xxx) (What capacity?) Option: Redundant power supply unit +$224) | n/a | |||
Total cost, approx. | ~$1,000? (*4 => $4,000) | ~$5,500 | n/a | $xxx |
Core prices snap-shot
- Prices taken 12/22/2017
- Prices go up dramatically with both core-count and processor speeds.
- Cache sizes and power consumption also increase with capabilities.
- This chart of estimated marginal costs is a sub-set of options pulled from <https://www.thinkmate.com/system/rax-xs4-21s1-sh> and <https://www.thinkmate.com/system/rax-xs4-21s1-10g>, focusing on SLOWEST procs to reduce costs. Other, more expensive-per-proc (faster) options available.
Approximate price increase buying TWO processors compared to 8-core Xeon Silver 4110 NOTE: Can also get a server with just ONE processor (at half the marginal cost), if core-count is sufficient. | Processor (all Intl Xeon) | Actual core count EACH processor Obtain total count by multiply by 2 since 2 procs. All HT-capable | Other specs |
---|---|---|---|
$0 (base-line, for price comparison) | Silver 4110 | 8-core => 16 | 2.10GHz 11.00MB Cache (85W) |
+460 | Silver 4114 | 10-core => 20 | 2.20GHz 13.75MB Cache (85W) |
+1,200 | Silver 4116 | 12-core => 24 | 2.10GHz 16.50MB Cache (85W) |
+1,628 | Gold 5115 | 10-core => 20 | 2.40GHz 13.75MB Cache (85W) |
+1,960 (availability delay) | Gold 5118 | 12-core => 24 | 2.30GHz 16.50MB Cache (105W) |
+3,280 | Gold 6130 | 16-core => 32 | 2.10GHz 22.00MB Cache (125W) |
+5,060 | Gold 6138 | 20-core => 40 | 2.00GHz 27.50MB Cache (125W) |
+7,560 | Gold 6152 | 22-core => 44 | 2.10GHz 30.25MB Cache (140W) |
+6,560 (availability delay) | Platinum 8153 | 16-core => 32 | 2.00GHz 22.00MB Cache (125W) |
+10,160 (and +$400 server) | Platinum 8160 | 24-core => 48 | 2.10GHz 33.00MB Cache (150W) |
+13,560 (and +$400 server) | Platinum 8164 | 26-core => 52 | 2.00GHz 35.75MB Cache (150W) |
+16,660 (and +$400 server) | Platinum 8170 | 26-core => 52 | 2.10GHz 35.75MB Cache (165W) |
+19,760 (and +$400 server) | Platinum 8176 | 28-core => 56 | 2.10GHz 38.50MB Cache (165W) |
Why server with 2 processors? Why not one or four, for example?
No savings buying just a one-processor server, especially if want more cores. JUST the price of the process jumps by the cost of an entire server!
- +$5,080: 16 total cores => 24 total cores (one proc)
Consider four processors only if needed and can afford many more cores. Option is not cost-effective for the core-counts we are currently looking at. Other considerations:
- Currently, only older processors are currently as an option with four-processor servers.
- Server prices START at about $12,000, for 32 total cores.
- Core counts and price upgrades are "times 4", not "times 2".
Status
10/5/17: Oliver met with Mahdi <mh2356> and Kushal <ks2285>. Action steps to have Peng review and refine:
(1) Group: Decide if worth having (select?) Matlab code reviewed by experts at CAC, focused primarily to increase efficiency. Secondary outcomes include:
- May result in the ability to run older code on current version of Matlab, expanding where code could run on non-group computers.
- May result in clarifying computational bottlenecks so the best fitted computational hardware is purchased. What does one prioritize when faced with choice to invest in: better processors, number of processors, number of cores per processors, bus speeds, SSD drives, and/ or RAM?
- May result in a confirmation whether or not problem lends itself to parallelization. If so, can increase efficiency with the right hardware and expands the locations to efficiently run the code (RedCloud, etc.).
(2) Oliver: Have group test their code on test server in 248, initially by-passing using the network to get the data to the server.
- Time comparisons of both single runs and simultaneous runs. Does the server reduce computational time for a single job, as compared to current workstations? To what degree does the server's performance drop as more jobs are added? Again, compare to current workstations.
(3) Oliver: Optimize getting data to test server in 248 via the network.
Other thoughs from Oliver:
- Confirm if any campus computing is a good fit for the group: CISER, RedCloud (likely only if code can be and is parallelized), David Botsh's cluster(?), others?
- Group may benefit from optimizing workflow at various workstations.