ssvb
Posts: 112
Joined: Sat May 19, 2012 6:15 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Fri Mar 11, 2016 11:45 am

stderr wrote:Net boot is huge for anyone looking to build with these things in a low cost manner and as far as I know only the pi people are paying attention so far to this point.
It may come as a surprise to you, but network boot is a pretty generic feature, which had been around long before the Raspberry Pi boards came to existence.

Still without a bootable SD card, Orange Pi boards can only boot over USB because that's what is supported by the on-chip boot ROM. Booting over Ethernet requires a bootloader, which itself can be loaded from a (small and cheap) SD card or over USB. Please note that the mainline U-Boot does not support Ethernet on Allwinner H3 boards yet and this feature may take a bit of time to become fully supported. As a side note, the mainline U-Boot supports Ethernet on older Allwinner chips perfectly fine and is fully network boot capable.

As for booting over USB on Orange Pi PC or Orange Pi One boards, this feature is for example utilized for doing a RAM reliability test: https://linux-sunxi.org/Orange_Pi_PC#DR ... peed_limit
This is convenient because people don't need to use a spare SD card for doing this test and also they don't need to repeatedly move the SD card between the board and a card reader to modify the DRAM clock speed settings.

bullen
Posts: 315
Joined: Sun Apr 28, 2013 2:52 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Fri Mar 11, 2016 2:43 pm

Heater wrote:Ah, so you are reinventing the async wheel for Java.

Async programming like that is what we have all been doing with node.js and Javascript for years now.

Of course async programming in JS is much easier as JS was designed to be async from the very beginning. Node.js is 100% async unless you go out of your way.

Performance might be an issue but I found that similar services using node and JSON were as performant as our old C++ and XML versions!

What do you mean by "sticky sockets"? Is that to do with the "keep-alive" header?
Well javascript is single threaded, it has to be async. But it can't scale on multicore.

I'm using NIO and building something nobody has built before, not even erlang (which is async but not on the network!).

So I'm inventing a new spoke system. ;)

Sticky sockets mean the load balancer/proxy remembers which node has which socket, btw all of nginx/haproxy will become obsolete once IPv6 spreads out so it's a little bit of a waste of time. What you need to scale with IPv6 is a custom DNS server, I've also bundled one with rupy.
https://github.com/tinspin/rupy - A tiny Java async HTTP application server.

Heater
Posts: 14776
Joined: Tue Jul 17, 2012 3:02 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Sat Mar 12, 2016 3:55 pm

bullen,
...javascript is single threaded...
Indeed it is. Part from new features like web workers in the browser.

In node you can of course always spin up processes and stream data in and out of them.
...it has to be async...
I don't know about "has to be". My understanding is that JS was designed to be async from the beginning as that is what is needed in browser user interfaces.

This async nature is perfect of server side work as well. No hanging around waiting on I/O, no complicated messing with threads, shared memory, locks etc. Hence node.js.
...it can't scale on multicore...
True.

Might not be such a disadvantage as first seems: If you really want to scale, say to hundreds or thousands of nodes, then you are going to be doing it across machines. Across data centres even. As such the fact that a single JS service can't use more than one core hardly matters.

Besides we are talking micro-services here, are we not?. Which means you will probably be running other services on other cores on the same machine.
I'm using NIO
It's great to see Java catching up to the async world. Where JS has always been :)

Interesting, about IPV6, I have no idea what happens there yet.
Memory in C++ is a leaky abstraction .

bullen
Posts: 315
Joined: Sun Apr 28, 2013 2:52 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Sat Mar 12, 2016 8:55 pm

Well, you need multicore support; the way I do microservices everything can run anywhere, it's the only way to scale and make a distributed system fail proof.

So when I deploy any code it gets broadcasted async to all nodes, same with data! That sounds like a problem only because most systems are super bloated, but mine is lightweight, the whole system jar is 150kb. appserver + db, everything.

My applications (services) are mostly 10kb small jars that I hotdeploy over HTTP async with hash for security. It's super fast, 50-100ms for the whole cluster including everything (compile, zip, transfer, distribute async broadcast, then on all machines: unzip, load classes, write files etc.)

You never know which service will be popular where when, so you need multicore for the nodes to be capable of redistributing load dynamically for anything = upgrade the cluster progressively and seamlessly. This is true for scalability as well as power efficiency, again most electricity is wasted on siloed (single core) services that do nothing.

You need to have all services and all data on all cores and many many cores. The challenge there is:

http://www.edn.com/design/systems-desig ... emory-Wall

Peak everything!
Last edited by bullen on Wed Mar 23, 2016 9:36 am, edited 1 time in total.
https://github.com/tinspin/rupy - A tiny Java async HTTP application server.

bullen
Posts: 315
Joined: Sun Apr 28, 2013 2:52 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Sun Mar 13, 2016 9:12 pm

I've updated the table:

https://github.com/tinspin/rupy/wiki/Comet-Stream

In Sweden the store price is 499 SEK for the RPi 3.

Hope you wont get to mad. :S
https://github.com/tinspin/rupy - A tiny Java async HTTP application server.

Heater
Posts: 14776
Joined: Tue Jul 17, 2012 3:02 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Mon Mar 14, 2016 12:23 am

I won't get mad but in your table you have the RPi 2 costing 30 dallars, and the RPI 3 costing 60 dollars.

Which is a bit odd seeing as Farnel is advertising both RPi 2 and RPI 3 in Finland at the same price 31,98 €

http://fi.farnell.com/raspberry-pi/rasp ... dp/2525225
http://fi.farnell.com/raspberry-pi/rasp ... dp/2461030

That is 35.69 dollars.

So your m./j/$ for the RPi 3 would be 6.500 / 35.69 = 182
Memory in C++ is a leaky abstraction .

Heater
Posts: 14776
Joined: Tue Jul 17, 2012 3:02 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Mon Mar 14, 2016 12:32 am

I can't get either of your | one | < "hello" | two | demos to do anything. I notice both the "two" pages are empty <head> and <body> elements. There is nothing there.

Do you have a stream demo that does not use flash? In Javascript.
Last edited by Heater on Mon Mar 14, 2016 3:18 pm, edited 1 time in total.
Memory in C++ is a leaky abstraction .

bullen
Posts: 315
Joined: Sun Apr 28, 2013 2:52 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Mon Mar 14, 2016 2:35 pm

Heater wrote:I can't get either of you | one | < "hello" | two | demos to do anything. I notice both the "two" pages are empty <head> and <body> elements. There is nothing there.

Do you have a stream demo that does not use flash? In Javascript.
You need to open both at the same time, one and two in two tabs simultaneously... you will then see one get the hello from two, the wheel should spin on one, try refreshing two many times and look at one. It should say hello once for every refresh of two.

If you want javascript comet stream look at http://fuse.rupy.se!
https://github.com/tinspin/rupy - A tiny Java async HTTP application server.

Heater
Posts: 14776
Joined: Tue Jul 17, 2012 3:02 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Mon Mar 14, 2016 3:23 pm

On "one" I get:

noop noop noop hello
noop noop noop noop noop noop

As I refresh on "two".

I see no wheels spinning anywhere. The page "two" has no content.
Memory in C++ is a leaky abstraction .

bullen
Posts: 315
Joined: Sun Apr 28, 2013 2:52 pm

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Mon Mar 14, 2016 6:41 pm

Heater wrote:On "one" I get:

noop noop noop hello
noop noop noop noop noop noop

As I refresh on "two".

I see no wheels spinning anywhere. The page "two" has no content.
That's it, the "hello" comes from two... that is async comet stream. Two should be empty, it's just receiving the request to push "hello"
https://github.com/tinspin/rupy - A tiny Java async HTTP application server.

User avatar
Chupo_cro
Posts: 47
Joined: Mon Dec 14, 2015 8:45 pm
Location: Hrvatska

Re: RPi 1, RPi 2, RPi 3 vs. OPi 1

Tue Mar 22, 2016 4:38 am

bullen wrote:Only two minor downsides: 512MB RAM and you need to buy 5.5mm to 4.0mm adaptors for the power supply!?
Then you can for $15 (+ $3 shipping) buy Orange Pi PC with 4-core 1.6 GHz processor and 1 GB RAM. 5.5 to 4.0 mm adaptors are $2 for 5 pieces.

BTW, I am using Orange Pi PC for Android (+Kodi) and Raspberry Pi for everything else. I plan to have Raspberry Pi and one Orange Pi PC connected to the TV, one Raspberry Pi as Wordpress server (headless), one Raspberry Pi for general use (headless), one Raspberry Pi as portable computer and several Raspberry Pi Zeroes for various purposes (AVR programmer, reading sensors, servo/relay control, ...).
Chupo_cro

Return to “Off topic discussion”