The development was funded by a research project where the coordinator was a manufacturer of thermal energy harvesting devices. That's why we focussed on power most. That requires certain choices for CPU, RAM. We also…
It's an evaluation board for a technology stack. That's its "use". We wanted to explore the design space towards smaller/low power/cheaper and find out where we can still squeeze a fully functional Erlang VM. We are…
It's all relative. Hard Realtime vs Soft Realtime is not clearly delineated. Because on anything real world there is always a probability distribution for every deadline. Our observation is that Erlang's "soft-realtime"…
Addendum: we have Buildroot and Yocto based platforms too. Not clear on the website right now but we have three platforms actually: * GRiSP Metal - aka just GRiSP (Erlang/Elxiir + RTEMS) * GRiSP Alloy - Buildroot Linux…
With Linux we can only run on larger embedded CPUs that support virtual memory well enough. With RTEMS we can go towards much smaller platforms.
Its not really „on RTEMS“, its more side by side. RTEMS is not a layer between the BEAM and te hardware its just helping by providing threads, TCP stack and file access. From a Erlang NIF or port driver (thats what we…
Yes we boot the BEAM on the hardware.
RTEMS supports all 32bit hardware architectures. We also run it on a PowerPC controler for a customer project, but it also runs on Sparc, Mips all Arm and many other architectures. We don’t use the MMU so we don’t need…
Back then it was only running on customer specific hardware and was entangled with application code. Building this special hardware for it we can offer better user experience than with just a code release. Once we ship…
As does using C for more complex applications ;-)
This is a eval board, which is optimized for developer time. In practice low power and performance are interchangeable (you try to race as fast as you can to the next point where you sleep as deep as you can). The CPU…
Of course it can. It runs everything that runs on BEAM, Elixir, LFE, erlua and Erlang
Firmware update in the field is important but only a small aspect of a embedded system (one that really needs to work). But Erlang already offers a lot around releases out of the box and in our case The VM + the whole…
Yes that also means the latency is not very long since in normal Erlang processes the process heap is also quite small so it doesn't take long to collect. Even without our planned extensions to the Erlang VM its…
If you ignore the external memory the SAMV71 on the Grisp-Base has 384k on chip memory ... We plan to use this for the inner loop of the Erlang VM since its much faster than external memory. But thats a optimization for…
Well with RAM and flash you can either fit everything in on chip memory or you need external memory. Once you have external memory 64MB is the smallest that you can get and be confident that you can obtain it for the…
Actually we have Erlang on RTEMS in production since Erlang R16B03 on a MPC8309 embedded cpu (200MHz) this is running a controler for industrial manufacturing transport system with attached RFID antennas and a…
Soft is the new hard ;-) If you reason about hard realtime you pretty soon end up with the question: how high can the probability be that it misses a deadline. If you run on modern embedded CPU's with pipelines and…
Well Erlang is running on RTEMS in production in industrial control systems http://www.grisp.org Hard realtime processes to come
I have a project planned which when funded will give us hard realtime guarantees for certain Erlang processes. This can only work of course if the underlying OS is also hard realtime capable. I have ported Erlang to the…
Well JS is keeping you thinking in pretty ancient ways. The "ideas" in JS are so old that you need quotes around the word. This sounds like from a Blub programmer. I'd better add a reference because Blub programers…
Well Erlang does have binaries for quite a while and many use them as high performance strings. So you can also use lists for strings, but why do you if you don't like the characteristics of lists?
"modern parallel computing" ... well not everything that can run parallel on multi core CPU's can run very well on a GPU. I'm using Erlang and GPU programming each for its area of expertise. FWIW I even use both…
Can't wait to get my preordered print copy: "Learn You Some Erlang" rocks!
I agree, besides ruby based syntax (which I don't consider a plus over Erlangs) you get pseudo mutable variables (they are not really but mimic them with a invisible sequence of Erlang like variables). The style that…
The development was funded by a research project where the coordinator was a manufacturer of thermal energy harvesting devices. That's why we focussed on power most. That requires certain choices for CPU, RAM. We also…
It's an evaluation board for a technology stack. That's its "use". We wanted to explore the design space towards smaller/low power/cheaper and find out where we can still squeeze a fully functional Erlang VM. We are…
It's all relative. Hard Realtime vs Soft Realtime is not clearly delineated. Because on anything real world there is always a probability distribution for every deadline. Our observation is that Erlang's "soft-realtime"…
Addendum: we have Buildroot and Yocto based platforms too. Not clear on the website right now but we have three platforms actually: * GRiSP Metal - aka just GRiSP (Erlang/Elxiir + RTEMS) * GRiSP Alloy - Buildroot Linux…
With Linux we can only run on larger embedded CPUs that support virtual memory well enough. With RTEMS we can go towards much smaller platforms.
Its not really „on RTEMS“, its more side by side. RTEMS is not a layer between the BEAM and te hardware its just helping by providing threads, TCP stack and file access. From a Erlang NIF or port driver (thats what we…
Yes we boot the BEAM on the hardware.
RTEMS supports all 32bit hardware architectures. We also run it on a PowerPC controler for a customer project, but it also runs on Sparc, Mips all Arm and many other architectures. We don’t use the MMU so we don’t need…
Back then it was only running on customer specific hardware and was entangled with application code. Building this special hardware for it we can offer better user experience than with just a code release. Once we ship…
As does using C for more complex applications ;-)
This is a eval board, which is optimized for developer time. In practice low power and performance are interchangeable (you try to race as fast as you can to the next point where you sleep as deep as you can). The CPU…
Of course it can. It runs everything that runs on BEAM, Elixir, LFE, erlua and Erlang
Firmware update in the field is important but only a small aspect of a embedded system (one that really needs to work). But Erlang already offers a lot around releases out of the box and in our case The VM + the whole…
Yes that also means the latency is not very long since in normal Erlang processes the process heap is also quite small so it doesn't take long to collect. Even without our planned extensions to the Erlang VM its…
If you ignore the external memory the SAMV71 on the Grisp-Base has 384k on chip memory ... We plan to use this for the inner loop of the Erlang VM since its much faster than external memory. But thats a optimization for…
Well with RAM and flash you can either fit everything in on chip memory or you need external memory. Once you have external memory 64MB is the smallest that you can get and be confident that you can obtain it for the…
Actually we have Erlang on RTEMS in production since Erlang R16B03 on a MPC8309 embedded cpu (200MHz) this is running a controler for industrial manufacturing transport system with attached RFID antennas and a…
Soft is the new hard ;-) If you reason about hard realtime you pretty soon end up with the question: how high can the probability be that it misses a deadline. If you run on modern embedded CPU's with pipelines and…
Well Erlang is running on RTEMS in production in industrial control systems http://www.grisp.org Hard realtime processes to come
I have a project planned which when funded will give us hard realtime guarantees for certain Erlang processes. This can only work of course if the underlying OS is also hard realtime capable. I have ported Erlang to the…
Well JS is keeping you thinking in pretty ancient ways. The "ideas" in JS are so old that you need quotes around the word. This sounds like from a Blub programmer. I'd better add a reference because Blub programers…
Well Erlang does have binaries for quite a while and many use them as high performance strings. So you can also use lists for strings, but why do you if you don't like the characteristics of lists?
"modern parallel computing" ... well not everything that can run parallel on multi core CPU's can run very well on a GPU. I'm using Erlang and GPU programming each for its area of expertise. FWIW I even use both…
Can't wait to get my preordered print copy: "Learn You Some Erlang" rocks!
I agree, besides ruby based syntax (which I don't consider a plus over Erlangs) you get pseudo mutable variables (they are not really but mimic them with a invisible sequence of Erlang like variables). The style that…