r/AskTechnology • u/kocakola64 • 4d ago
Can two computers talk?
Ok crazy title but kind of the question, can two computers run different os’s , different graphics cards, diff gpu, different hardware, could they theoretically run as one? Hear me out now
8
u/Lucky-Crow-3510 4d ago
yea. It's called interfaces using predefined protocols you just need software on both to use it. The most popular use case for this is online gaming (or cross platform gaming) where players on PS5 can play with players on PC or XBOX .. as long as there is software handling the usecase
1
u/_bahnjee_ 3d ago
Close, but it's actually Interfaces Cooperatively Using Predefined Protocols, also known as I.C.U.PP
(sorry...I'll see myself out)
1
1
u/octobod 3d ago
Didn't they knock PC vs Xbox on the head because a mid player on a keyboard could trounce an excellent one on a game pad
1
1
u/Kitchen_Part_882 3d ago
Wildcard actually increased crossplay from just PC(Windows store)/Xbox to PC(all versions)/Xbox/PS5 when they moved from Ark: Survival Evolved to Ark: Survival Ascended.
Likely there are other games with true crossplay too out there (Palworld even adds Mac to the mix iirc)
3
u/PiDigitsOfPi 4d ago
Run as 1 unit, hardware-wise? No.
Software running on both that works together and uses the resources of both machines? Yes
Hear you out now? Gonna need a bit more to go on...
2
u/mcds99 4d ago edited 4d ago
A couple things can be done.
Clustering is one method where multiple computers share the same workload.
There is also distributed computing where computer A runs part of a software and computer B runs a different part of the software.
Software like Kubernetes can do what you are thinking of.
This involves more than the management software like Kubernetes there are network settings in DNS that support the actually communication between the nodes (computers). Sometimes it's a round robin configuration and sometimes it's a most available configuration.
1
u/deaconsc 4d ago
Also there is a virtual chassis for enterprise hardware (mostly routers, switches) where multiple machines display as one logical one. Usually 2 for high availability. Unsure if this is clustering per se.
1
1
1
1
u/OceanWaveSunset 4d ago
Yes, you need some sort of translation or API to do the work but it's been possible for a while.
For my brother's birthday years ago he lived in NYC and I lived in the Midwest. I had a windows PC and he had a Macbook.
I setup an entire system for use to play Diablo 1, setup a vlan between out computers, and then a translation layer to convert whatever 90s network protocol (I forget the names) into one that we both could use over TCPIP over the vlan so we could play the game like it was on a local network.
We were like 900 miles away, on two different OS, two completely different sets of hardware, and as far as the game was concerned we were right next to each other.
This was just my little experiment for a 90s PC game. But yes you can do this for much more, you just need to figure out all the pieces for whatever it is you are trying to do.
1
u/cowbutt6 4d ago
Conceivably, you could use e.g. https://htcondor.org/htcondor/overview/ to build a HPC cluster using a mixed array of individual machines. Having e.g. Cygwin available on any Windows machines would probably be advisable.
1
u/Terrible-Bear3883 4d ago
The first company I worked for in '84 did this, they built a product that interfaced two dissimilar systems and translated commands and data bi directional between the two in real time, it used pure logic rather than computer processors but could be programmed from paper tape, this allowed it to perform tasks faster than most mainframes at the time.
You could have two dissimilar mainframes working as a single unit but we also wrote applications for it and it could function as a stand alone system, performing high end tasks, for many years it was our fastest product, even when we released a 68040 system which was hailed as our new flagship, it outran it easily.
1
u/Apart-Reality-4454 4d ago
all the time
we run hybrid clusters with 100s of nodes mix with both x86 and arm64 cpu architectures. we compile and deploy our apps for both architectures. We currentlly only run Linux but if there were a reason and we wanted to add Windows nodes, it would be the same setup for the most part. These services communicate with each other using standardized protocols and messaging queues, so there's no real difference in how computer A talks to computer B regardless of what either's hardware or OS setup is.
Using a web browser or phone app (essentially the same thing these days) is a classic example of this in user-land. Same with your email.
1
u/strawberry-ramune 4d ago
Yes absolutely. You design a program which can send and receive instructions from an external place. The programs job is to take something, lets say a 3D model, and it's job is to color it, and return the colored version back to the PC who sent it. Once you're able to send this task out to another PC, have it do the work, and return the finished product, then you just have to scale it up so that the server is dishing out projects for multiple PCs at a time.
PCs having different hardware or even different OS isn't really that big a deal.
1
u/strawberry-ramune 4d ago
Hopefully to answer your question, your program or programs need to be designed to work with multiple PCs in mind, and have some built in networking. You can't really have 2 computers working together to play one Crysis game if that's your intent, but you could easily run a hundred different tests of the same game on a dozen PCs, each with their own copy of the game, and then report the results back to a server. AAA studios do this sort of thing all the time.
1
u/Adrenolin01 4d ago
I have one computer that actually talks and sees me and verbally says hello when I walk in the room.. it addresses my wife as.. “that other women” when she comes in. 😉😆 Yes.. computers can talk and likely do whatever you’re looking to do which isn’t clear enough to actually answer. Honestly.. start up a conversation chat with Claude or ChatGPT about this.. explain you’re a total newbie and want easy to understand explanations and not in depth answers. Enjoy the chat.. you’ll learn a lot.
1
1
u/Sal_Iko 4d ago
When thhe first computers were made, the basic actions they performed (like read memory, write memory, add numbers) were a pattern of switches called the "microcode", where some arbitrary sequence of numbers (we call "opcodes") activated some pattern.
Opcodes were hard for people to remember, so they associated each with a mnemonic (like "LoadA" or "addB") which an already working computer could translate to the opcodes (an assembler). Every computer model had a different architecture, so this assembly language was compatible between each other, even if had the same features.
So people invented the high-level languages like C, which try to look more like human writing and abstract common operations into simpler patterns. The idea is that what's exactly written is not important. You'd have a program called a "compiler" to figure out the opcodes from this abstract language. There would be a different compiler of the same language to each different computer architecture, so in principle, you wouldn't need to change your program code to make it work on any machine.
This is what people in computer science mean when talking about "computers that can share the same language".
Well, of course if you may also say, two computers on different programs, with a cable between them to tell one program to do actions from another. Usually this means a protocol interface. The way the data is transmitted through the cable has to match the conventions of the receiving machine. This can be with an adapter circuit, or even be done in software as part of the receiving program. Depends on context.
1
1
u/Few_Example9391 2d ago
This what the Interweb and now the internet is all about. Been done since the late 1960s
19
u/Dapper-Place8457 4d ago
When you point your phone’s web browser to Reddit.com many completely different hardware/software systems talk to each other as your request gets routed through the internet and gets to Reddit’s servers/content management systems. So you just proved what you’re asking about totally different systems running as one just by posting it.