15 ms·
Ampere Altra Dev Kit has launched 32, 64, 80 core arm64 processor
- pipo234 4y agoNice to see these kind of systems finally get into a reasonable price range. Not raspberry pi-cheap, but not Apple-expensive either. edit Comparing apples and oranges — this is probably closer to AWS Graviton systems, but in a desktop form factor.
- rektide 4y ago$33/core is way better than most arm offerings for sure.
- noloblo 4y agoHaskell and ghc don't work on these devices as aarch64 isn't as well supported as amd64
- paines 4y agoGive it some time. The more these devices get available the better the software gets. I remember back when AMD64 cpus freshly emerged and you would try to compile some bigger or special software it simply didn't work and you had to compile it for 32bit, e.g. Wine.
- deleted 4y ago[deleted]
- kramerger 4y agoAt this scale you are probably going to use Erlang instead
- jacquesm 4y agoIndeed, that's a very good match. Better still because it would allow you to pretend you have larger machines than you really have at the penalty of some slowdown.
- aseipp 4y agoThere are always rough edges on other platforms, but these machines are good workhorses -- and would be an excellent choice for further development, to smooth out aarch64 support. I wish these machines (or Apple Silicon with Asahi Linux) had existed at the time I worked on GHC and aarch64 support was starting to take shape. Would have been a game changer in terms of productivity...
- aww_dang 4y agohttps://www.gigabyte.com/Enterprise/Server-Motherboard/MP72-HB0-rev-30 https://www.gigabyte.com/Enterprise/Server-Motherboard/MP72-... Here's another offering from Gigabyte, dual socket and supports the 128 core processors. EATX formfactor.
- zeroping 4y agoGigabyte's servers built around these are also pretty awesome. All the bells and whistles you'd expect from server gear, but with a lower idle power draw. https://www.gigabyte.com/Enterprise/ARM-Server https://www.gigabyte.com/Enterprise/ARM-Server
- tensor 4y agoYes, but where can you actually buy these? What's the total cost. I see on this page "request a quote" which usually means it's not worth exploring for a home user.
- samsquire 4y agoThis is exciting. I did have a 32 core Threadripper. I spend a lot of time trying to write parallel code. On my 12 core intel NUC (a mobile CPU chip) My bank simulation shards money between threads and can handle 700 million transactions per second. I am sure you could with more optimisation increase this and it scales per number of threads due to the sharding.
- _a_a_a_ 4y agoI've got to assume you're not persisting anything to a database :-)
- samsquire 4y agoNot yet, when I add a Java NIO nonblocking socket server, the throughput drops to 240k per second with 6 transaction generator threads and 6 server threads. Adding persistence would drastically slow things down. Assuming there is no powercut to multiple availability zones, you could keep data in memory on one machine in a circular buffer and then persist every second on the other availability zone. Depends how long it takes to restore power.
- deleted 4y ago[deleted]
- c7DJTLrn 4y agoSerious question: what is a bank simulator? Isn't it just adding and subtracting numbers from accounts?
- rfmc 4y agosame here, and any related search failed or it's already pointing to this thread.
- samsquire 4y agoWhen I play around with multithreaded concurrent algorithms, I try solve a simulation of moving money between accounts in a thread safe way. It really is just deduct from one account and then add to another account. If you don't use a mutex or a lockfree algorithm, you can end up with more money (money creation) or money destruction (money missing) when you transfer money between accounts and there is another transaction to the same account in a similar time frame. This is due to a race hazard where addition and subtraction are each individually 3 operations and if they interleave then they cause the writeback of an incorrect result and omission of another result: thread 1 thread 2 read 1000 read 1000 calculate 1000 - 25 calculate 1000 - 50 write 950 write 975 This simulation has money creation, because the two transactions don't see eachother. So I add the money up at the end of the simulation to see if it is equal to the money that the simulation started with. When I say money sharding, I am not sharding by account. If an account has 12,000 in it, and I have 12 threads, each thread stores 1000. The fast path is a transaction goes to that thread and that thread handles the transaction if the amount of money being deducted is less than or equal to 1000. If the transaction amount is greater than what is available in one thread, then it has to be routed to other threads. I never generate a transaction greater than what is available than all threads, so that part always works, for routing to accounts that have enough money. An extremely slow path would have to transact a bit from multiple threads until the transaction is complete. I've never worked on fintech or banking software, so I don't know how it works in practice but I did try implementing an order matching engine (which from my perspective is just a sort ascending + sort descending of participants bids or asks) I haven't worked on parallelising that yet.
- cinntaile 4y agoThat's pretty beefy for what they call an IoT dev kit. What are the IoT use cases for a machine like this?
- voxadam 4y agoIf I had to guess, edge compute for networks of far less powerful IoT devices.
- jacquesm 4y agoVehicles, industrial control.
- Havoc 4y agoNeither seems to ned 80 cores?
- jacquesm 4y agoIf you think of a modern car as a miniature data center on wheels you wouldn't be too far off, and cars aren't the only vehicles.
- temp2022account 4y agoIdk for most safety-critical stuff you'll run a realtime OS, and all important sensor polls will be pinned to a core. I assume industrial controls could have 40-or-so sensors that you would want to minimize latency for because if you miss a reading the possibility of something breaking/someone dying opens up.
- monocasa 4y agoSomething like this isn't being used for that kind of realtime control, the memory hierarchy is too hard to nail down in a way that doesn't negate dedicating cores to tasks. It's probably meant for 'embedded' applications like storage appliances.
- nubinetwork 4y agoSingle gigabit NIC? I don't get why they don't include more, given the 3 x16 pcie slots...
- dist1ll 4y agoI think that's a reasonable decision. Devs who need lots of networking throughput usually have their own NICs cards from a preferred vendor (with the necessary features) anyways.
- thfuran 4y agoI don't think a single gigabit nic is really reasonable on something as light as a raspberry pi, and this sure isn't that. Multigig has been out for years and ten gig for even longer. It's kind of ridiculous that things are still stuck on gigabit.
- leesalminen 4y agoI just specced out a new network for a friend's business (they call it an intentional community.. ~50-100 people on-site each day, most are digital nomads). They were willing to spend whatever it took to provide reliable WiFi throughout the ~20 acre property. Equipment cost was concern #4 or #5. We still went with gigabit fixtures and not 2.5G. The ISPs were only providing a 200mbps pipe (symmetrical), intra-LAN communication is not super common in this type of deployment, and no client devices currently on-property supported 2.5G. So, yeah, for us, it still made sense to go with gigabit. Even when we look out over the next 5 years (expected lifetime of this new equipment) we didn't see the need for 2.5G growing _that much_.
- macNchz 4y ago> It's kind of ridiculous that things are still stuck on gigabit. I’ve been under the impression that there are patents (expiring soon) keeping the cost of 10G hardware high enough to prevent it from becoming the default choice. I don’t have a concrete source for that info though.
- trissylegs 4y ago
- calaphos 4y agoThat is a really good price for that many cores. Especially the 80 core variant competes favourably with much more expensive (last gen) 64 core Epyc Rome CPUs.
- jacquesm 4y agoThere is something interesting happening here. For the longest time we've been doing everything we can to efficiently share a CPU with a low number of cores across a large number of threads. But as the number of cores increases we have the opposite problem: how to efficiently make a number of cores cooperate on the same task. Once the number of cores meets or exceeds the number of threads you can do away with a lot of the tricky bits that make our machines messy and insecure, a CPU per thread is so much cleaner. Especially if you can throw in some more isolation. And once you go down that road giving each CPU its own dedicated on-die memory is a relatively small step and you end up with a cluster-on-a-die that scales up and down from a power consumption point of view with the requirements because you can simply power off those chunks of CPU/RAM that you are not currently using. Sort of like the ideal machine for the Qubes OS.
- sheepscreek 4y agoThis problem has been solved - albeit sub-optimally for general purpose computing. GPUs are massively parallel processors with 1000s of cores. While CUDA isn’t the easiest to work with, some Python libraries such as JAX and Tai-chi are attemting to remove the bar between CPU and GPU computing completely. A program using either cab transparently switch between a CPU or GPU backend.
- timlatim 4y agoGPUs do not have thousands of physical cores, though. What's called a "CUDA core" is essentially a programming slash marketing abstraction for a SIMD lane. A closer analogy to a CPU core would be a Streaming Multiprocessor (RTX 4090, for instance, has 128 of them). But that comparison is still moot, because GPUs are simply not designed for executing branchy scalar code. They'd be laughably slow at it, so outside of easily vectorizable code that already takes advantage of SIMD instructions, I don't see how you could offload any CPU tasks to a GPU.
- blagie 4y agoI think the major architectural leap would be MIMD with a standard ISA. I think something along the lines of a Pentium Pro or an ARM core. Pentium Pro had 5.5 million transistors. A modern CPU has about 1000x more, so about a thousand Pentium Pro-grade processors would fit in die like a modern 7770X. I'd take that over my GPU any day. The hard and expensive part is, obviously, memory, cache, and interconnect. The even harder part is software. And the less hard part I'm intentionally oversimplifying is power consumption.
- summarity 4y agoFYI the 80core variants are available at Hetzner for about 200 EUR/m - running at the full 3GHz
- christophilus 4y agoHave you tried it? I’m curious how it performs. It seems like it’d make a decent media transcoding workhorse.
- jacquesm 4y agoI'd love one on my desk.
- summarity 4y agoI saw them in their offerings, but didn’t try them. A minimum 300 EUR payment is too much to then figure out my stuff doesn’t work or scale how I expected. I wish I could use a trial instance for like 3 hours first.
- jlokier 4y agoSame here. I'd happily pay the monthly rent if it's worth it, but not if I find after a few hours testing that it's slower for my purposes than 2 AX101s (2 because of the price ration and SSD sizes). I might try it on Scaleway, but I wouldn't be surprised if the Hetzner machine has different performance characteristics.
- 4y ago
- exabrial 4y agoWhat I really want is an ARM server that can accelerate our JVM workloads as much as M1/M2 does, without regards to power density. Why? In colo you’re usually not as concerned about density. We’re renting a chunk of rack space for a bottom basement price of $200/month and we can easily stick a router and compute / storage nodes with 64 TB of disk and boat loads of memory in that rented space; plenty for our needs without coming anywhere close to the power allocation. When we were purchasing a few servers for our colo, we ultimately just went with AMD because the price per core was there. It ends up being less performant than an m2, maybe m1 ish. Ultimately we’re a small market though. The ‘sexy’ thing to do is waive your AWS invoice size around at other hipsters during cocktail parties; not to own your own hosting even though you’ve paid for it serval times over. I don’t see this changing anytime soon.
- yolo3000 4y agoHow does M1/M2 accelerate JVM apps, and in general how do you optimise your JVM apps to make full use of the resources?
- crop_rotation 4y agoI doubt M1/M2 do anything special for the JVM, it's just that they are overall better performing for the same power. In a server setting though I don't see them having the same advantages.
- pshirshov 4y agoIt has lot higher memory throughput, so mid-range M1 chip produces results comparable to my 3970x Threadripper on some of my workloads (scala compilation) while it consumes just a fraction of the power the Threadripper requires.
- lockhouse 4y agoWith Asahi Linux, I could actually see people shoving M2 Mac Minis in a Server rack in the future.
- 4y ago
- drewg123 4y agoI'd never heard of COM-HPC before. In this design, it appears that the memory slots are perpendicular to the PCIe slots, and thus perpendicular to typical server front->back airflow. Is this a common design element in all COM-HPC CPU boards? If so, it seems like a flawed design..
- aseipp 4y agoCOM-HPC only refers to the (hand waving a lot here) dimensional form factor and pinouts, of course, so there are some different variants. I don't know if I'd call this design typical but it's not unusual; I think I've seen ones with soldered RAM and also ones with slots that are parallel to the PCB, sort of like a SO-DIMM slot -- and also actual SO-DIMMs, too! They're pretty niche in practice.
- moondev 4y agoThis thing is going to be a monster running ESXi arm edition.
- ThePowerOfFuet 4y agoVGA output? Come _on_.