Hacker Newsnew | past | comments | ask | show | jobs | submit | kaspar030's commentslogin

Also check out Ariel OS (https://ariel-os.org), which is built on top of Embassy.


Also Xous which is completely independent of Embassy but applicable if you're looking for preemptive multitasking:

https://www.youtube.com/watch?v=DaWkfSmIgRs


But requires an MMU.



> Top end CPUs are about 3x faster than the comparable top end models 3 years ago

I wish that were true, but the current Ryzen 9950 is maybe 50% faster than the two generations older 5950, at compilation workloads.


Not even. Probably closer to 30%, and that's if you are doing actual many-core compile workloads on your critical path.


Phoronix has actual benchmarks: https://www.phoronix.com/review/amd-ryzen-9950x-9900x/2

It's not 3x, but it's most certainly above 1.3x. Average for compilation seems to be around 1.7-1.8x.


Oh, fair enough -- you are correct compared to 5950x. I was mentally comparing my personal experience with 7950x. Yes 1.7-1.9x seems fair for a bump from 5950x to 9950x (albeit at a higher power draw).


The author used kernel compilation as a benchmark. Which is weird, because for most projects a build process isn't as scalable as that (especially in the node.js ecosystem), even less after a full build.


I felt a great disturbance in the Force, as if millions of voices suddenly cried out in terror and were suddenly silenced. I fear something terrible has happened.


Also, the Ryzen 9 3950X. It has a bit more punch than the 3900X, for ~200$ more.

I built one, a Noctua NH-D15 can cool it at 16*4ghz at 700RPM, so basically almost inaudible even at full load.

No ECC, though.


I have a Ryzen 9 3900X. Officially it doesn't support ECC memory. In practice unregistered ECC DIMMs work fine, and ECC functions properly (single-bit correction, dual-bit detection).

I assume the 3950X is the same way. The hardware is there, the official blessing is not.


AFAIK, Ryzen 9 3900X do support ECC memory, but it's up to motherboard whether to officially support it or not. There are X570 boards out there with official ECC support, e.g. ASUS Pro WS X570-ACE[1].

[1]: https://www.asus.com/Motherboards/Pro-WS-X570-ACE/


They seem to cast doubt on if the bios and software all work together and are really performing the ECC checks even in cases where support might be possible they say things can stop it from working and fixing memory bits. I've no reason to doubt them and this is probably the reason for the lack of official support. Anyone know of a way to validate if it's working correctly?


You can overclock your RAM until you start getting single-bit errors detected.


How do you verify that ECC is actually functioning without just trusting what the hardware tells you though?


By opening the case and holding your smartphone near and nearer into it, while having it search for networks. Until it crashes, and then checking the logs, if any :)

edit: I mean near the DIMMs. Don't try this if you are afraid, or need your hardware. This is a test i'm doing with every build, or any system i have to fix. And it crashes every system, though not at the same places and in the same ways. So far it didn't damage anything permanently, but no guaranties it won't.


Are you serious? How very interesting. Really would like to hear from someone with experience in inducing errors that can say what the risks for permanent damage would be, save for data loss in case of flushing corrupted data to disk for course.


I am. This worked for me since the GSM-era. Imagine slowly pointing it like a wand, sweeping up and down, left, right, going nearer...into, searching. Until it ZAPS. Doesn't need touching. Or less than an inch distance. About 3 to 2 inches it usually is, but i also had crashs/freezes at maybe 10 to 5 inches, just outside the case when it was open.

edit: By searching for networks i mean for the telcos, not wifi. Then it uses all bands it is capable of.


What exactly do you mean when you say it ZAPS ?


I meant this as a figure of speech, not literally. There are no sparks flying, or something like that. "Zapping/tazing" it by applying some EMF, nothing more :)


Another option is to overclock the ram. Mine is rated for 2400 MHz and works fine up to 2666. It still 'runs' at 2800, but I get maybe 2-3 correctable ECC errors in an hour.

But I'm of course not suggesting to run it in this state whil doing anything important.


Interesting. I guess the DIMMs came blank, without heat sink/spreader on the chips, since ECC and therefore "non-gaming"? In that case i'd try some thin aftermarket clip-on. Nothing hilarious like "HyperRacerMegaBlingMarkVII" would come with. To see if the ECC-errors occur because of running out of specification frequency wise in general, or if they just occur because of running at too high temperature because running at a too high frequency (and maybe voltage) without cooling. Because vendor didn't plan/produce/verify for that use-case. So I'd verify that, and enjoy in case of the latter.


> No ECC, though.

Is ECC useful for a workstation? I thought it was useful for shared servers (VM hosts) to protect against rowhammer & co, but does is have other uses?


http://cr.yp.to/hardware/ecc.html

Without ECC, modern systems (>= a few GB RAM) will have bits flipping pretty much daily.

https://news.ycombinator.com/item?id=1109401


This does not seem to be true in practice. I use ECC on my systems and they are configured to log any ECC error. And I see ECC erros almost never. Mostly ECC errors start appearing on very old systems when something in hardware becomes bad because of the age (even if just oxidized contacts). I am not sure if I've ever seen a truly random ECC error.


What do you mean by "very old"? This study, which is the only comprehensive public data of which I am aware, says that onset of DRAM errors occurs after 10-18 months.

https://storage.googleapis.com/pub-tools-public-publication-...


I've read such studies with great interest, and i prefer ECC whenever possible, but i think these don't necessarily apply to desktops, at least partially.

I think the environment in racks for nodes in whichever formfactor in racks is toxic. Be it EMF interference, power distribution issues, vibrations, and/or temperature. You don't have that in a single system at home, when it is built in a good way, and has stable power. Or at least to a lesser degree.


Very old -- like 10+ years old.


It's not quite fair to just extrapolate numbers for 256MB of RAM up to a modern system. If this was true you'd be seeing OS crashes daily (if you run hundreds of servers with no ECC you will see mysterious crashes every day, but for one server it might be once a year).

Ultimately these flips are caused by charged particles hitting the memory module (a so called 'single event upset' or SEU), and the number of charged particles hitting the modules has not increased with density (although the modules are more sensitive to SEU, it's a smaller effect).


To encounter a crash, bit flip has to happen on a very small subset of available memory. It's much more likely to just corrupt file cache.


Well it depends what you're doing, if your memory is full of hash tables and linked lists then you'll likely get a crash (say a web backend). If you're a fileserver and it's all cache then you won't.


It‘s usefull for everyone but bit errors happen far far seldom than people do expect. But you should have it just in case. You dont want e.g. a corrupt database file just because the low probability of a bitceroor happened and you have been in bad lick it was on a very critical operation.


> ...bit errors happen far far seldom than people do expect.

Until they happen more often that expected. It's something that varies based on building, temperature, etc. environmental factors. And of course on your luck with memory module lottery.


Yeah, ECC makes the system much more reliable. It drives those weird unexplained glitches away.


According to this paper, 8% of DIMMs and 32% of machines suffered from at least one correctable error per year. Without ECC, that's an undetected and uncorrected error. The average machine in the study had over 22,000 corrected errors per year. The paper observes that "memory errors are not rare events". If you're running without ECC, you are quite likely to have some undetected corruption, which could range from a single erroneous bit over the lifetime of the machine all the way up to constant unexplained crashes and file or filesystem corruption. There are plenty of use cases where it doesn't matter but for workstation use you presumably care about the results.

https://storage.googleapis.com/pub-tools-public-publication-...


It prevents corruption from bit flips caused by cosmic rays and other sources. More important for scientific/business purposes and at higher altitudes where there is less atmosphere to block cosmic rays.


> for ~200$ more.

huh, where ? from what I see here the 3900X is listed at 450€ and the 3950X at 900€ on average in the mainstream websites...


Apart from price, was there a reason you did not go for ECC? Thx!


One other reason is that ECC is not binned for super high clocks like gaming RAM (even though there is nothing technically preventing it from doing so - it is one extra chip per stick, that's basically it). The fastest you can get is like 2666, where you can readily get gaming RAM in the 3600 range and premium bins go to 4400+.

Ryzen has always been very "sensitive" to low-clocked RAM and shows some pretty good scaling as you increase frequency and tighten timings and the ECC UDIMMs on the market are just not binned to do that.


2666 is not the fastest ECC memory. Here's 3200 for example: https://www.newegg.com/crucial-32gb-288-pin-ddr4-sdram/p/N82...


That's registered memory, not supported by Ryzen/Threadripper. Find unregistered ECC DDR4 3200.

Or convince AMD to stop artificially not supporting registered memory on Ryzen/Threadripper -- the early Athlons supported both.


I still am impressed though, didn't know about that one. Kinda trash CAS latency but I guess that might be because it's registered (I've never seen registered that fast so I guess I don't really have a good perspective on what "good CAS latency" would be for a registered memory).

I wonder if those would run on my Haswell-E xeons. They support RDIMMs, and they are unlocked so nominally they should support higher RAM clocks too (although I've never tried it with RDIMMs, only UDIMMs).

More recently, the W-3175X (Threadripper's real competitor) supports RDIMM as well. So Threadripper actually offers less features than the competition here.

I really would like to see the Threadripper series merged with the 7002P series though. Right now there is no option that gives you both Threadripper-level clocks and large quantities of RAM, the frequency-optimized parts are still a large compromise in performance and aren't widely supported. There is no part that gets you to 4 GHZ on 64 cores with 512+ GB of RAM, despite all of these capabilities existing in their respective segments.

When you are shipping a 64C HEDT processor there is really no longer any meaningful distinction between that and a server processor. And 256GB simply is not enough RAM for a 64C processor. AMD could still upcharge on the multi-socket models, but they are drawing lines between product segments that no longer make sense now that they have pushed core counts so high.

Basically, give us a modern successor to the Intel X5670 series. It's the top of the line, you're paying $4000 for a workstation processor, you should get the whole processor and not have a bunch of disabled features.

The really funny thing is, it's not even a money thing, Epyc isn't even priced significantly higher. 7702P is $4150 at Provantage (HPE p/n P16660-B21) vs $3990 for the 3990X. The 7402P (HPE p/n P16664-B21) is actually $250 cheaper than the 3960X. AMD is no longer using the "traditional" model where workstation is cheaper than server. Workstation is now just as expensive as server. So it's not like giving you Epyc capabilities would mean AMD foregoing any money.

AMD is just drawing arbitrary lines between these product segments because they can.


> I really would like to see the Threadripper series merged with the 7002P series though.

They should've done that when they changed the socket for the latest generation. Just admit that the existence of Socket TR4 was a mistake and release the new Threadrippers on Socket SP3.

I suspect there are even some people interested in dual socket workstations with 2TB of memory that nonetheless have a 4.5GHz boost clock, because workstations often have mixed workloads. And there is no point in doing market segmentation when all the prices are the same anyway, it's just incompatibility for no reason.


Epycs should be readily overclockable. It's the same silicon as Threadripper. AMD does not, to my knowledge, restrict overclocking in server parts.

Cooling would become a big issue, though. Air cooling a 280W 3970X in a big tower with sufficient airflow to maintain ambient temperature internally is difficult. I cannot maintain max turbo on all cores.

Putting this in 1 or 2 Us in a server would likely be impossible without water cooling (requiring piping to external liquid coolers (whether radiators or chillers)). There's only so much that increasing air velocity can do in cooling.

I don't know if this is the primary thing holding back Epyc specs, but I know it will be an issue.


Technical differences aside:

RIOT is the only mentioned OS with a copyleft license (well, LGPLv2.1), trying to create a FOSS alternative in the embedded/IoT space.

With permissive licenses for embedded software, open source usually ends at the factory.


Yep, the anti-GPL crowd will miss the glory days of Linux, specially if Fuchsia really turns into Android Next.


Original author of RIOT here.

Using RIOT you'll get at least multi-threading, power management, a choice of network stacks, a bunch of community-supported libraries and drivers with an extensive test suite, ...

Also, you'd have a clear upgrade path, as applications written for RIOT's API will compile (almost) unchanged for all of RIOT's target hardware. Arduino becomes to slow? Change some pin defines, re-compile for a fast Cortex-M. Intrigued by RISC-V's openness? Recompile for the Hivife1 to find out it's real-world performance with your application.


Excellent! But how about existing Arduino libraries such as firebase for Arduino? I can use them as they are or I have to port them to the Riot API?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: