|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
||||
|
||||
|
Accessing RAM across LAN
I'm in a college course discussing the basics of computer hardware. We were talking about the different kinds of RAM and the issue of page faults came up.
As I understand it, this is when the computer's performance takes a nosedive because it is forced to swap data between RAM and the hard disk. The more page faults a computer encounters, the worse the throughput. The idea occurred to me that it might be possible for a computer on a LAN to access the RAM of another, less active, computer on the LAN. Wouldn't this be faster then accessing the hard disk? Particularly with Gigabit Ethernet? I'm assuming, if such a thing is possible, that the gains would be small on a home network. But on a large distributed LAN, there are usually as many inactive computers connected to the network as there are active computers. It would basically have the elements of clustering, but without sharing processor power, just the RAM. Does anyone know if someone has tried this yet? Perhaps with linux High Availability clustering, or something? -Tim
__________________
Avalokiteshvara Bodhisattva, when practicing deeply the Prajna Paramita, perceives that all five skhandas in their own being are empty and is saved from all suffering. |
|
#2
|
||||
|
||||
|
Never heard anything about this before, but I would have thought that it would be quicker to access something from the local hard drive, rather than across the network, even if it was gigabit ethernet.
|
|
#3
|
|||
|
|||
|
Paging and page faults don't slow the computer down. Lack of physical ram slows the computer down by the OS having to rely more on paging for its memory requirements. Not going to get into proper pagefile configuration here. You also need to understand the difference between hard and soft faults. Soft is good. Hard is bad.
Since memory addressing directly relates to the CPU and hardware resources I don't see how physical ram can be shared by anything other then the local running OS. Great lengths have been gone to so that even local running programs don't go out of their bounds and step into someone elses allocated space [GPF's]. To do what you envision would require some kind of clustered distributed OS that would use internet for its hardware addressing. They can't even get a local OS to run flawlessly. :-) |
|
#4
|
||||
|
||||
|
I see what you mean about hardware addressing, and it would definately be something that takes place at the OS level. This is why I was curious if anyone had heard of a linux user trying something like this.
What I'm proposing is really just a specialized networking protocol. One computer puts a request out onto the network for more RAM (temporarily probably), and another computer that isn't busy responds with a "RAM available" response. Based on the RAM available responses, the initial computer then sends whatever data it needs to remember later over the network to them. The now-storing computer uses it's own OS to store the data in RAM and then sends some kind of key to the sending computer. When the first computer sends this key back to the storing-computer, it sends the data back to the first computer...maybe in one big chunk, maybe just the relevant information. Basically the key could be a table that gives the transferred data a unique "memory address", and once the connection is open is addressable by the OS (this might be asking too much) as more RAM. I recognize it's unorthodox, and it may not even be worth the effort. But it's interesting. ![]() -Tim |
|
#5
|
|||
|
|||
|
And there is the crux of the problem. There is no such thing as free ram. The OS allocates every last drop. Don't confuse ram available for the system to use as free ram. It is ram the system is in control of.
Another aspect here is time. Ram is in nanoseconds. Any protocol running on the wire is at kilobits per second. The difference here is like the distance between us and the sun and us and the next universe. Remote ram would serve no purpose due to time of travel. |
|
#6
|
||||
|
||||
|
I realize that RAM is much faster than a network connection. The point of the experiment was to seek performance gains over page faults swapping with the hard drive, which is 6 orders of magnitude slower than RAM.
The idea is not just to have more RAM by accessing the network. The idea is to avoid swapping to the hard drive as much as possible. I don't, however, know what you mean about the OS allocating all the RAM. I was under the impression that "free RAM" was just that...RAM that had a memory address assigned to it, and was probably initialized to some null value by the OS, but stood ready for data to be stored. Is this not the case? Regarding Kilobytes/second, I was talking about using Gigabit ethernet, not a phone line. I don't want to give the impression that I'm defending a possibly ridiculous theory, but I am interested in learning more about why it won't work. -Tim |
|
#7
|
|||
|
|||
|
Ram is in nanoseconds, paging is in milliseconds and network traffic is in bits per second. Just the fact network traffic is measured in seconds would make it slower than disk/paging access. So the point I am making is going from one machines ram to another machines ram would have to take into account the speed difference traveling over the wire.
Gigabit does not mean faster. It means wider and still is measured in bits per second. All they have done is increase the available timeslots data can travel on. The electrical signal containing the data still goes down the wire at the same speed whether 10mb or 1000mb [near but not quite the speed of light] You can't avoid pagefile operations except in XP. W2K won't let you run without a pagefile. Paging is builtin to the OS. You avoid excessive paging by an appropriate amount of physical ram. Otherwise paging is normal in all OS's I have worked with [vms, little unix, netware, MS]. Physical ram to be useful has to be addressed by a OS. Otherwise its like a hard drive without a file system in place; pretty useless. The OS creates its own virtual world in this regard. Available ram is only available to the OS. So your proposal would have two courses as I see it. The OS would have to be able to allow outside access to its available ram or would have to not allocate physical ram that somehow a remote OS would be able to allocate. Which brings us back to wirespeed and nanoseconds vs bits per second shortfall in access time. |
![]() |
| Viewing: Dev Shed Forums > System Administration > Networking Help > Accessing RAM across LAN |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|