[ / / / / / / / / / / / / / ] [ dir / cafechan / choroy / htg / leftpol / shota / sonyeon / strek / vore ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Name
Email
Subject
Comment *
File
Select/drop/paste files here
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

[–]

 No.828502>>828606 >>828703 >>828761 [Watch Thread][Show All Posts]

How the fuck do people write programs that run across multiple machines at once? Isn't there only one main loop? Do they just show up to the program as moar cores? What if there are multiple servers across different regions? Any good books on this topic?

 No.828524>>828703 >>828826

It depends on what you want to parallelize. A common problem is calculating a matrix for which you later want to get the eigenvalues.

Usually the matrix elements are independent of one and another, so you can subdivide your matrix and have those segments calculated on different cores/servers. So you'd need a master program that assigns these segments to slave programs and then aggregates the results.

Of course there are libraries that abstract this process to varying degrees, but one language that was actually designed with this in mind would be Julia:

https://docs.julialang.org/en/stable/manual/parallel-computing


 No.828537>>828545 >>828826

File (hide): 14bb1e897cbaf02⋯.png (13.65 KB, 297x416, 297:416, ClipboardImage.png) (h) (u)

Here's a fairly basic intro: http://zguide.zeromq.org/page:all


 No.828542>>828545 >>828639 >>828823

Install Gentoo on the servers


 No.828545>>828615 >>828630 >>828707 >>828826

OP do this >>828542

>>828537

Whois of (((http://zguide.zeromq.org/)))

>Name:

>Doron (((Somech)))

>Street:

>3 Liberman St.

>Apartment 10

>City:

>(((Tel Aviv)))

>Postal Code:

>6424303

>Country:

>IL

>Phone:

>+972.543044117

>Email:

>email@gmail.com

You couldn't make this shit up if you tried.


 No.828602

>How the fuck do people write programs that run across multiple machines at once?

Network protocols.


 No.828606>>828826

>>828502 (OP)

Networking. The single machine code is the same as everything else, then you have something that handles the rest of it. MPI used to be popular for that but I always thought it was kinda shit. The advantage of using it was industry supported it, so you could get various hardware accelerated networking devices for MPI.


 No.828615

>>828545

a) what's your point?

b) it's called Whois protection. Look it up.


 No.828630>>828826

File (hide): d5bae36c7045e13⋯.png (94.41 KB, 245x316, 245:316, die-steve-harvey.png) (h) (u)

>>828545

>Jewish people exist

>there is a city called Tel Aviv in Israel

>YOU COULDN'T MAKE THIS SHIT UP FUCKING KIKES!!!!!!!

jesus


 No.828639

>>828542

Plan 9 is better choice tbh.


 No.828703>>828826 >>829238

>>828524

>slave programs

<TRIGGERED

Super problematic terminology in 2017.

https://code.djangoproject.com/ticket/22667

>>828502 (OP)

Look for books on distributed computing. Essentially though, the concept is to atomize the bigger task into units which can be farmed out your machines, and then aggregated into a solution.


 No.828707

File (hide): 38be1732d91bb02⋯.jpg (47.81 KB, 422x422, 1:1, 1508954777.jpg) (h) (u)


 No.828761>>828826

>>828502 (OP)

Google PVM (parallel virtual machine) and MPI (message passing interface)

You can also use a very coarse-grained approach using a server/client model where all computers share a common server. There is a shared directory on the server with two subdirectories; an in and out-box. The client pulls data from the out box and places the processed returns in the in box. The server handles shuffling files from those directories to divy up the workload. I've personally done this twice in practice and would not recommend it.


 No.828770>>828826

File (hide): 83068fadeef9ae2⋯.png (123.48 KB, 1223x715, 1223:715, serveimage.png) (h) (u)

>How the fuck do people write programs that run across multiple machines at once?

With a lot of effort for anything that isn't trivial. It gets even worse when you have several machines with different hardware and different accelerators (GPUs, Xeon Phi, etc).

>Do they just show up to the program as moar cores?

You can but shouldn't be blind to that. For instance the other machine may not have the data so if you compute there you'll need to transfer it. There are runtimes which automate this though.

>What if there are multiple servers across different regions?

That'll only increase latency, other than that it makes no difference. So depending on the problem it'll be slightly slower or much slower if you need a lot of synchronization.


 No.828778>>828826

Gnu parallel can run several instances of a program on a cluster.


 No.828823

>>828542

install guix


 No.828826>>828913 >>829223

>>828770

>>828778

>>828761

>>828703

>>828606

>>828537

>>828524

Thank you for all the helpful answers, this is a great start for some googling. Do any anons have any other info or stories they'd like to share about cluster computing?

>>828545

>>828630

kek


 No.828913>>828924

>>828826

If you just want to fuck around, it's pretty easy (or, at least it was back in 2014) to get luxrender running on multiple machines. I had eight seperate computers of *very* different architectures rendering a single image, three of which were using OpenCL acceleration on top of the fact that they were clustered. It was a very fun little experiment.


 No.828924

>>828913

Well fuck.

Just checked and LR is pretty much dead. The website is still there, but there's only one or two people who've touched the forums in years and the download links aren't working. Shame.


 No.829223

>>828826

>Do any anons have any other info or stories they'd like to share about cluster computing

I used to work in supercomputing (which was often just cluster computing) over at LANL and so did my girlfriend. This was back when tech was 1% female and before cam sites so you'd sometimes run into a legitimately competent woman, maybe '95-'96? She'd not come around one night and had terrible excuses as to why and I figured she was probably being a cheating whore, but I learned later that her group of friends had planned on watching a movie after work and decided to borrow a DVD player from the lab. They were somewhat new and expensive at the time (would be several thousand today) so none of them had one. The lab had a big security team known as proforce (great name) who were looking for chinks smuggling out anything that might store data. So that had triggered a full security incident complete with cliche black vans driving them off the road, attack dogs, snipers, helicopters, and a day of interviews. She was a cheating whore, though. Don't trust women in tech.

I hope I helped you learn a bit about cluster computing!


 No.829238

>>828703

>that django ticket

fuck my life i use django. dotr when


 No.829273>>829308

It's all essentially just simultaneous multi-threading.


 No.829308>>829573

>>829273

>simultaneous multi-threading

No, that's a totally different thing.


 No.829309>>829388

File (hide): c6d0f554fc5d479⋯.jpg (74.64 KB, 1200x794, 600:397, kvm_logo.jpg) (h) (u)

Is KVM a good way to practice with this stuff?


 No.829388

>>829309

Ehh. You could, but you can just test it as a pretend thing with multiple processes per host each setting affinity to one full core, potentially sharing with more processes just to test. imo you're gaining nothing but trouble from trying to use VMs.


 No.829573

>>829308

???>>829388

>>>829309

>Ehh. You could, but you can just test it as a pretend thing with multiple processes per host each setting affinity to one full core, potentially sharing with more processes just to test. imo you're gaining nothing but trouble from trying to use VMs.




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
25 replies | 5 images | Page ?
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / cafechan / choroy / htg / leftpol / shota / sonyeon / strek / vore ][ watchlist ]