Slashdot Mirror


Remote Direct Memory Access Over IP

doormat writes "Accessing another computer's memory over the internet? It might not be that far off. Sounds like a great tool for clustering, especially considering that the new motherboards have gigabit ethernet and a link directly to the northbridge/MCH."

166 comments

  1. Also by madcoder47 · · Score: 5, Insightful

    Not to mention easy access to sensitive information in emails, documents, and PIMs that the user currently is running and are resident in memory.

    1. Re:Also by Anonymous Coward · · Score: 0

      Stupid wanker.

      How many people also run office software on their clusters?

      Do you think those ranks and ranks of boxes at Google at also used by the receptionist at the same time?

    2. Re:Also by CoolVibe · · Score: 1
      Although I agree, couldn't kernel developers using this map local memory "private", as in not accessible to software using this technology?

      That way, non-remote memory won't be accessible, and your data will stay your data.

    3. Re:Also by Urkki · · Score: 3, Insightful

      As it is, even programs running on the *same* computer can't access each others memory. I don't see how they could create a network-shared memory that would unintentionally get around this.

    4. Re:Also by RetroGeek · · Score: 0

      Ring 0

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    5. Re:Also by Rufus211 · · Score: 2, Informative

      Erm, read the FAQ. As a previous person said, why would network access to DMA be any worse than local DMA? I mean you could open it strait up and have no memory checks or anything (*cough* win98 *cough*), but why on earth would you do that? Here's what their FAQ says:

      Some Objections to RDMA
      Security concerns about opening
      memory on the network
      - Hardware enforces application buffer
      boundaries
      Makes it no worse than existing security
      problem with a 3rd party inserting data into the
      TCP data stream
      - Buffer ID for one connection must not be
      usable by another connection

    6. Re:Also by netsharc · · Score: 1
      Do you think those ranks and ranks of boxes at Google at also used by the receptionist at the same time?
      Hey, why not, to get a bit of extra performance. Then again that extra wouldn't be so great to justify the cost of implementing a distributed client for nodes that are relatively unstable ("Dang, must reboot again!").
      --
      What time is it/will be over there? Check with my iPhone app!
    7. Re:Also by Anonymous Coward · · Score: 0

      The key word is unintentionally, meathead. Unless you're talking about Microsoft.

    8. Re:Also by RetroGeek · · Score: 1

      Nope. Programs that run in Ring 0 (as opposed to Ring 5) can access any memory they want. How else could a memory manager work?

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    9. Re:Also by LiquidCoooled · · Score: 1

      Would YOU trust microsoft if it told you thats what it was doing?

      --
      liqbase :: faster than paper
    10. Re:Also by Dwonis · · Score: 1

      What architecture has Ring 5? ix86 only has 2 bits for IOPL.

    11. Re:Also by RetroGeek · · Score: 1

      Oops, I meant Ring 3 :-(

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
  2. haha... outlook worm writers will have a field day by sisukapalli1 · · Score: 4, Insightful

    Seriously though... this is where Scott McNealy's vision of "The Network is the Computer" comes even closer to reality.

    S

  3. rdma? by CausticWindow · · Score: 4, Funny

    The security implications are staggering.

    How do we lobby for port number 31337 for the RDMA protocol?

    --
    How small a thought it takes to fill a whole life
    1. Re:rdma? by astrashe · · Score: 4, Insightful

      You hit the nail on the head -- the security implications of this are staggering.

      And doesn't tcp/ip involve a lot of overhead for memory access?

    2. Re:rdma? by gmkeegan · · Score: 2, Interesting

      That's where the TCP offload engines come in. It's in the same ballpark as the prestoserv NFS cards that offloaded some of that overhead from the OS.

      Land of the free, void where prohibited.

    3. Re:rdma? by KagatoLNX · · Score: 2, Interesting

      Perhaps this is an opportunity to implement something else of use. Right now, OSes implement rough security for memory access (see SIGSEGV). Why not elevate such security to the same level as FS permissions (and simultaneously elevate both to a Kerberos style network auth).

      --
      I think Mauve has the most RAM. --PHB (Dilbert Comic)
  4. Other applications too! by Anonymous Coward · · Score: 0

    ShowEQ needed something like that be able to read the encrypted memory, and display on their Linux Client. I'm not sure if they actually implemented it, but it'd be a great reverse engineering tool!

  5. Remote shared memory by sql*kitten · · Score: 4, Informative

    This feature has been available for a while now, but using a dedicated link rather than IP. Sun call it Remote Shared Memory and it's mainly used for database clusters.

    1. Re:Remote shared memory by Ed+Avis · · Score: 1

      Doesn't MOSIX already do this? Or does MOSIX just migrate a single process from one host to another without 'sharing' memory?

      Even swapping over NFS could be considered remote memory, although it is not exactly 'shared'.

      --
      -- Ed Avis ed@membled.com
    2. Re:Remote shared memory by sql*kitten · · Score: 5, Informative

      Doesn't MOSIX already do this? Or does MOSIX just migrate a single process from one host to another without 'sharing' memory?

      I'm not familiar with MOSIX, but Oracle uses RSM on the theory that the high-speed RSM link is always faster than accessing the physical disk. So if you have 2 nodes sharing a single disk array, and Oracle on one node knows that it needs a particular block (it can know this because in Oracle you can calculate the physical location of a block from rowid as an offset from the start of the datafile - that's how indexes work) then the first thing it will do is ask the other node if it has it. This is called "cache fusion". If it has, then it is retrieved. Previous versions of Oracle had to do a "block ping" - notify the other node that it wanted the block, the block would then be flushed to disk, and the first node would load it. This guaranteed consistency, but was slow. With RSM, the algorithms that manage the block buffer cache can be applied across the cluster, which is very fast and efficient.

      Speaking of process migration, there is a feature of Oracle called TAF, Transparent Application Failover. Say you are doing a big select, retrieving millions of rows, connected to one node of a cluster, and that machine fails in the middle of the query. Your connection will be redirected to a surviving node, and your statement will resume from where it left off. I'm unaware of an open-source database that can do either of these.

    3. Re:Remote shared memory by GrenDel+Fuego · · Score: 1

      I haven't actually used MOSIX, but the impression that I've gotten from reading about it is that MOSIX deals with process migration among nodes. My guess would be that if a process needs to switch nodes, it's memory is probably copies to the new node rather than being used across the link, which would be relatively high latency.

    4. Re:Remote shared memory by TrollArtist · · Score: 0, Offtopic

      Fuck you! FUCK YOU!

      --
      Contact me to arrange free contract-trolling. I will monitor a user and deliver quality troll replies to every post.
    5. Re:Remote shared memory by mindstrm · · Score: 2, Informative

      No, mosix just migrates the user context of a task to the remote machine.

      There is some primitive distributed shared memory support in OpenMOSIX; no idea how stable it is though. Normal openmosix/mosix won't migrate tasks requiring shared memory (ie: threads)

    6. Re:Remote shared memory by Anonymous Coward · · Score: 0

      Not bad for a Monty Python rip-off, but if you`re going to charge for this `service` i`d make the insults more impressive. You get better ones for free just for saying anything vaguely anti-american or pro-MS here.

    7. Re:Remote shared memory by ahfoo · · Score: 1

      I wrote to the Mosix folks several years ago and asked about using Wine to run old Windows 3D apps on a cluster after getting it set up on RH. At that time, they said the problem with Wine in a cluster was that it required pooled memory resources. . . sound familiar.
      Back then, there were expensive commercial interconnect systems --I don't think Infinniband was around then-- that did the job. But with the costs involved it made Mosix somewhat besides the point.
      I may be wrong, but this could be the technology that allows Wine to rip the shit out of MS's price/performace ratio on Windows apps in a cluster since I've yet to see Mosix for Windows. I hope that's turns out to be the case anyway, but I was hoping for that years ago when GigE was on the horizon and it turned out to be a bit early. No big deal if this isn't it either. I can wait many more years.

    8. Re:Remote shared memory by Anonymous Coward · · Score: 0

      I think PolyServe Matrix Server can do the first thing (node disk cache is looked-up before a query is made to the disk because it's faster that way).

  6. Me Learnt Gud by Anonymous Coward · · Score: 0

    Accessing another computer's memmory over the internet

    Maybe you should watch less japanese kiddie porn cartoons and learn to read and write english you retard.

    1. Re:Me Learnt Gud by Anonymous Coward · · Score: 0

      hah ;) .. this from someone that doesn't know
      the difference between 'less' and 'fewer'? ;)

    2. Re:Me Learnt Gud by Anonymous Coward · · Score: 0

      God, it was a fucking typo. Get over it you hypersensitive asshole.

    3. Re:Me Learnt Gud by Anonymous Coward · · Score: 0

      "japanese" and "english" are supposed to begin with capital letters, spastic.

  7. 404, this DIMM not found.... by Anonymous Coward · · Score: 2, Funny

    I take it that error code 500 will be used when the DIMM or controller is fried?

  8. uh.... by Anonymous Coward · · Score: 0

    surely this would be a piece of cake to do?

    think about it:

    - you can make a program read from anywhere in memory.
    - you can make a program write to anywhere in memory.
    - you can send information back and forward over the internet.

    so, computer 1 asks for a memory address from computer 2, and can then read or write to it by sending back a command.

    what is even slightly exciting here?

    1. Re:uh.... by bazmonkey · · Score: 4, Interesting

      Um... easier said than done there, hotshot.

      When a program asks for memory there's a reasonable amount of loops it has to go through in the processor to get the memory, because the processor manages memory. Making a program that toys with memory over the internet wouldn't be slightly exciting.

      DMA channels let something, usually a video card, sound card, IDE bus, etc. do what it needs to do with the system's memory without bothering the processor. The speed gained by not bothering the processor when accessing memory is what makes UltraDMA hard drives so fast, video cards accelerated (in addition to a lot of other l337 tricks), etc.

      Now, you take a cluster, connected via gigabit network, in which each computer can directly access each other's memory as opposed to using a program to do it that just takes the target processor's cycles. THAT is slightly exciting.

    2. Re:uh.... by Anonymous Coward · · Score: 1, Interesting

      this is still fairly uninteresting, at the core. so they tied the IP stack to DMA. given that the bottleneck is still going to be the line speed, which is going to be far, far slower than the bus, the 'loops' you speak of will probably be negligible by comparison. increases in line speed aren't likely to bring the throughput close to bus speeds anytime soon. as for clustering via a gigabit network, fine and dandy, but there have been solutions to do this very thing for other platforms for awhile now - all this does is widen the area within which this can be done. not innovative and not really useful, in my opinion, but the proof will be in the pudding. show me a distributed application that scales more effectively using this as opposed to some other method of sharing information between clients that also offsets the obvious overhead of managing such a wide shared memory pool (and we don't even have to think about That ball of wax to discount this) and you'll make a believer out of me. i do not expect that this will happen.

    3. Re:uh.... by girl_geek_antinomy · · Score: 3, Insightful

      so, computer 1 asks for a memory address from computer 2, and can then read or write to it by sending back a command.

      Operating system mediated memory protection might be an issue here... Sane operating systems at least check to see whether Application 1 actually owns the bit of memory it's trying to read/write before letting it chew over memory that actually belongs to Application 2. Just letting some application read and write any memory is a recipe for disaster that sensible OSes have avoided for a long time...

    4. Re:uh.... by platypus · · Score: 1

      Well, maybe there is a need for that. Say, you have an application where you really don't want to, or easily can't (because of early design mistakes) adapt the application to big, effective cluster farms. Whatever, maybe a database, or a web server, which are quite fast, but also - because of that - quite quirky designed. Just examples ...

      This RDMA could help. Just push the problem one level deeper, to the OS and to hardware, at raw memory access. Let the OS try to figure out all the problems. Suddenly, you app _is_ (on paper) clusterable, with an (on paper) nearly linear scaling factor. Well it still sucks from the real performance POV, but you hope that your marketing department and carefully constructed example installations will save you, and in general technology progress (esp. with networks) will save your ass.

      But we all now such a scheme wouldn't work, right?

    5. Re:uh.... by kesuki · · Score: 1

      " When a program asks for memory there's a reasonable amount of loops it has to go through in the processor to get the memory, because the processor manages memory."
      Just to be pedantic here... But unless you've got an Opteron, the north bridge memory controller controlls memory access..
      The opeteron is one of very few processors to ever include an on-die memory controller.
      I'll leave it to other pedantds to list any others...
      As to the comment by doormat about onboard gigabit lan... onboard LAN capabilities, are a chip wired to the south bridge as a standard PCI device. The shorter leads from being on motherboard cause almost no difference performance. In fact, you're likely to get better thruput from the add-on Firewire chip than from the on-board gigabit lan chip. Since you get 400 mbit Each way simultanious from firewire. All firewire chips are the same, they all perform equally, even on motherboard varieties. Unlike the onboard gigabit lan chips, which vary in features and performance widely. They may only give you 1 gigabit sum total for both directions, allowing saturation issues to provide for denial of service situations, where 2 machine on the lan can draw so much data that you can't recieve any except from them.
      Unfortunately firewire wouldn't be a good option for clustering, because one would need fire wire 'switches' to be capable of clustering over firewire... something which may or may not exist.
      If you're going to cluster, make sure you've got good lan cards, and don't rely on on-motherboard options. unless you've researched the board enough to know the onboard lan is good enough for your useage.

  9. not necessary for 90% of distributed computing by eenglish_ca · · Score: 2, Informative

    Sharing memory is not necessary in distributed programming if the variables are kept mostly local and a single computer works mainly with what it has stored in its local memory. This is very applicable to renderfarms where the acceleration scheme itself works very well for distributed rendering because methods such as the grid subdivides into cells each of which can be stored on and evaluated on a single computer with its local memory. Only a central computer is needed to control these nodes and store the ouput which is of very limited size and without great computational needs.

    --
    Checking out my form of escapism.
    1. Re:not necessary for 90% of distributed computing by fitten · · Score: 1

      Not to mention that the latency of IP is staggering.

  10. I smell a hotfix... by fejrskov · · Score: 5, Insightful

    > Microsoft ultimately is expected to support RDMA
    > over TCP/IP in all versions of Windows

    Can you see it coming? The ultimate Windows root exploit!! Hmm... I guess someone has to go tell them. Othervise they won't notice it until it's too late...

    Seriously, how do you dare to enable this kind of access?!?

    1. Re:I smell a hotfix... by Flakeloaf · · Score: 2, Insightful

      They've done it - a way has been found to make the Windows environment less secure. I can just see the sales pitch now.

      "With Windows CX, your computer will have the latest in Remote Memory Management. Share your system's power with another Windows PC for added performance. Trusted applications will automatically control your memory remotely, saving you the trouble of worrying about the wrong programs using your PC."

      (Which, in the usual MS doublespeak, means Bill's trusted computer can bork warezed versions of anything by remote control without having to resort to TCPA.)

      --

      Am I the only one who heard Roxette to sing "I'm gonna get blitzed for some sex"?

    2. Re:I smell a hotfix... by Saint+Stephen · · Score: 1

      Heh, I can sneak in a reply to this without being too offtopic:

      A friend of mine wants to see a web server with an HTML form where you can just paste in some assembley code and the server will just execute it. The ultimate killer app! "Just give me some code and I'll just run it."

  11. Prior art ;-) by hankaholic · · Score: 4, Interesting

    I tried something like this a while ago -- I wanted to mount an NFS-exported file via loopback and use it as swap.

    The file in question actually resided in a RAM drive on another machine on the LAN.

    I couldn't get it to work in the 45 minutes or so I messed around with it. I'm not sure if Linux was unhappy using an NFS-hosted file for swap, or what exactly the problem was, but I did get some funny looks from people to whom I explained the idea (ie, to determine whether the network would be faster than waiting for my disk-based swap).

    Of course, this was back when RAM wasn't cheap...

    --
    Somebody get that guy an ambulance!
    1. Re:Prior art ;-) by pyite · · Score: 1

      Some machines we used to have at work would swap over the network as soon as they ran out of local swap. I believe they were AIX machines.

      --

      "Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman

    2. Re:Prior art ;-) by redhat421 · · Score: 2, Interesting

      Linux will not swap over NFS without a patch which you can find Here. I use this for diskless workstations, and it works well.... I'm not sure if your application will be faster or not with this.

  12. iWarp (didn't think this was new) by sielwolf · · Score: 1

    iWarp has been around for a few years and I think is getting deprecated by a newer system. Just a way of getting *that* much more speed by avoiding unnecessary context switches. Datacenter stuff mostly but is general enough that it could be dropped on a lot of current stuff (AFAIK).

    --
    What is music when you despise all sound?
  13. Whoa by FrostedWheat · · Score: 1

    You read my mind.

    1. Re:Whoa by Anonymous Coward · · Score: 0

      Mine, too. I also thought about remote direct mind access...

  14. Virus problems by Anonymous Coward · · Score: 1, Interesting

    The article says that Microsoft is part of this "consortium".

    What kind of problems will develope once virus & worm writers, and spammers get access to this mechanism?

    Of course, if DRM (digital restriction management) comes along, at least it will give a back door into the system.

  15. Yeah... by benntop · · Score: 5, Funny

    That would be the first port I would firewall off...

    Brings up interesting ideas of ways to prank your friends & enemies though.

    1. Re:Yeah... by TrollArtist · · Score: 0, Troll

      Brings up interesting ideas of ways to wank off your friends & enemies though, more like.

      FUCK YOU!

      --
      Contact me to arrange free contract-trolling. I will monitor a user and deliver quality troll replies to every post.
    2. Re:Yeah... by Jack+William+Bell · · Score: 1

      No kidding. That was my first reaction as well. Although I can see use for this in giant clusters on dedicated networks, it doesn't seem like something I would be implementing for myself, well, ever...

      --
      - -
      Are you an SF Fan? Are you a Tru-Fan?
  16. Remote fun with an enhanced debug.com? by Waffle+Iron · · Score: 3, Funny

    0100 lea edi, dma://foo.example.com:b8000h
    0103 mov al, 65
    0105 mov ecx, 2000
    010a rep stosb
    010b jmp 100

    g=100

    1. Re:Remote fun with an enhanced debug.com? by Pooh · · Score: 0

      I'm surprised I don't see any answer here.

      Ah, I forgot 99% of slashdot reader use windows, so they don't have a clue about stuff that don't involve homosexuality, a mouse and windows >= 95.

  17. Already Done by Anonymous Coward · · Score: 5, Funny

    Microsoft products have had this "feature" for a while now. Esp. IIS.

    1. Re:Already Done by whovian · · Score: 1

      See also: Word files.

      --
      To-do List: Receive telemarketing call during a tornado warning. Check.
  18. Intel's VI Architecture by jonsmirl · · Score: 1
    How does this compare to Intel's VI Architecture?

    VI Architecture

    1. Re:Intel's VI Architecture by jonsmirl · · Score: 3, Informative
      Here is an article that explains VI vs RDMA, etc.

      RDMA article

  19. Bah, old stuff by Erich · · Score: 4, Insightful
    There's lots of research about network shared memory for use in various things.

    It's very interesting that using memory over the network is very much the same problem as cache coherency amongst processors. If you have multiple processors, you don't want to have to go out to the slow memory when the data you want is in your neighbors cache... so perhaps you grab it from the neighbor's cache.

    Similarly, if you have many computers on a network, and you are out of RAM, and your nighbor has extra RAM, you don't want to page out to your slow disk when you can use your neighbor's memory.

    NUMA machines are somewhere in between these two scenarios.

    There are lots of problems: networks aren't very reliable, there's lots of network balancing issues, etc. But it's certainly interesting research, and can be useful for the right application, I guess.

    Disk is slow, though... memory access time is measured in ns, disk access time is in ms... that's a 1,000,000x difference. So paging to someone else's RAM over the network can be more efficient.

    I don't have any good papers handy, but I'm sure you can google for some.

    --

    -- Erich

    Slashdot reader since 1997

    1. Re:Bah, old stuff by C32 · · Score: 0

      Wrong-o! micro is 10^-6, nano is 10^-9, not 10^-12..
      Also, what kind of latency do you think sending data over a network will introduce?
      Even with gigabit ethernet over fiber or what have you for minimum latency it'll be on the ms scale..

    2. Re:Bah, old stuff by C32 · · Score: 2, Informative

      whoops, foot-in-mouth alert! -_-, ms = milli, not micro.. sorry.
      That doesn't invalidate my point about networking latency though...

    3. Re:Bah, old stuff by spinlocked · · Score: 1

      ...Also, what kind of latency do you think sending data over a network will introduce?

      Indeed, the latency will suck - badly. It's an unavoidable fact that the speed of light is finite. The greater the distance you put between the nodes, the suckier the latency becomes. This is why Sun campus clusters are limited to just a few Km. when doing remote disk mirroring. On FC-AL direct attach storage over dark fibre, you start hitting the SCSI time-out limit on disk writes and a write-intensive (especially transactional) application will absolutely crawl. This is also (one of) the reasons that the system back-planes are kept as short as possible on the big Sun boxes, and the phrase 'imagine a beowulf cluster of these' is seldom heard among Large Scale Computing and serious finance customers.

      --
      # init 5
      Connection closed.


      Oh... ...bugger.
    4. Re:Bah, old stuff by Erich · · Score: 1
      Yes, and Nano/Milli == 1,000,000

      Anyway, network latency is determined mainly by processor speed, distance, layout, and bandwith of the network. On my 100bt network at home, going through a couple of 100bt switches, I usually get You can also generalize this to any sort of interconnect fabric, like RapidIO or HyperTransport or PCIExpress. There is always latency to the memory. Cache is rather low-latency, typically a few cycles, and is compensated for by the pipeline on your processor. L2 cache is higher latency -- maybe 5-10 clocks. Memory is, say, 30 clock cycles[0]. Disk is, give or take, 12 million clock cycles[1]. 6ms is a lot of time to send info over a network, even one where latency might be a few ms.

      This is all one of those things where "it depends on the application". If you are on a fairly local, fairly high-bandwith, fairly low-latency network, it makes sense. If you're on a 28.8 dialup, obviously swapping to your disk will be faster.

      But in many corporate environments, you have lots of machines on lots of desks that are attached to a fairly high-bandwith, low latency network. If engineers rarely and sporadically need large amounts of memory, this can be a more effective method than swapping to disk.

      [0] Assuming 133Mhz/266DDR memory CAS-2 and 2Ghz CPU

      [1] Assuming 6ms access time and 2Ghz CPU

      --

      -- Erich

      Slashdot reader since 1997

    5. Re:Bah, old stuff by bugnuts · · Score: 1

      I keep seeing comments about things like bad latency and such (see below), but actually this DECREASES latency on transfers.

      One such implementation allows you to write directly to memory using a message. This bypasses several system calls, several interrupts, and is quite safe as long as bounds are checked properly by the kernel. This type of setup is used in the high-performance networking used on supercomputers, where the bottleneck is the network. (google for "Portals message passing")

      Allowing messages to do a direct writes to remote memory is a huge win, when you can shave off 50 ms per transmission!

  20. InfiniBand by wheezl · · Score: 1

    All of this is available in the Infiniband Spec... now if someone would just build it... and then we could all buy it.

    --
    -- oh.... so..... sleeeeeepy.
    1. Re:InfiniBand by rdorsch · · Score: 1

      There are Mellanox (collaborating closely with Intel) Infiniband (IB) adapters available right now, SUN and IBM announced systems with IB support.

    2. Re:InfiniBand by wheezl · · Score: 1

      Yeah but they are just adapters. You really need stuff that embodies the entire spec. So (with increased bandwidth) you replace thw PCI Bus, your Networking, and your storage bus all with infiniband. I think it's a little bit of too little too late though. The concepts however are sound.

      --
      -- oh.... so..... sleeeeeepy.
    3. Re:InfiniBand by soldack · · Score: 2, Interesting

      I work at InfiniCon Systems and we do a lot of InfiniBand related things. We have switching, adapters, and connections from IB to gigabit ethernet and IB to fibre channel. See http://www.infinicon.com/.

      The real next steps for IB is 12X (30 Gb) and on mother board IB. 12 X is in development. Currently, IB adapters are limited by the PCI-X slot they sit in. PCI-X DDR and PCI Express should help, but just having it on the mother board and throwing PCI out would be interesting. Small form factor clusters would really benefit to just having memory, CPU, and an HCA.

      --
      -- soldack
    4. Re:InfiniBand by Anonymous Coward · · Score: 0

      I would expect that some non-Intel architectures will have infiniband without any PCI-... very soon

    5. Re:InfiniBand by Leimy · · Score: 1

      Check Mellanox. I work for MPI-Softtech and we are releasing a product soon for MPI over Infiniband. We get killer speeds out of it. There are at least two vendors still in the Infiniband market.

      Don't lose hope... we are out there... just need to get the word out!

    6. Re:InfiniBand by Leimy · · Score: 1

      Here's the URL MPI-Softtech

  21. Infiniband has excellent support for this by rdorsch · · Score: 4, Informative

    Servers will very soon be equiped with Infiniband (http://www.infinibandta.org/). Infiniband has dedicated support for RDMA. This includes efficient key mechanisms, which minimize operating system involvement (which would be context switches each time) and low latency. Bandwidth available right now is 2.5 GBit/s and higher bandwidth can be anticipated very soon.

    1. Re:Infiniband has excellent support for this by soldack · · Score: 1

      Actually, IB is up to 10 Gigabit. I have seen performanc at 800 Megabytes per second using MPI. I work over at InfiniCon Systems on InfiniBand related software. Interesting uses of this include database clustering and high performance computing clusters. Think 4000 node clusters. APIs include MPI for HPC stuff and DAPL for database clustering and RDMA file systems. You can use Sockets Direct Protocol to offload your TCP/IP traffic. IPoIB handles other IP traffic. There are also protocols for connecting to ethernet and fibre channel.

      --
      -- soldack
  22. Security is not an impossibility by wordisms · · Score: 2, Interesting

    Security does not mean 100% exploit-proof, it means it secures your information/services given certain desired lengths of protection and certain operating conditions.

    While M$ is probably not going to get this one right, it doesn't mean that someone can't. This *is* a desirable feature for some applications, and it is possible to make a secure environment (where secure is defined for the application), and make it seamless as well. That is the whole goal of network security professionals.

    If anything, the fact that people already know what kinds of "old" exploits this may be vulnerable to, it means that we are already headed in the right direction.

  23. astounding by Anonymous Coward · · Score: 0, Flamebait

    I'm absolutely amazed how stupid the average Slashdotter is. First, they don't know that this sort of technology is decades old. I was using remote memory on an image generator back in the early 1980's, and it was nothing new then. Then, they cry about security implications when THERE ARE NONE.

    Slashdot is on life support. Somebody needs to pull the plug.

    1. Re:astounding by ColdZero · · Score: 0, Troll

      They aren't as bad as the ones who make a comment like that but don't have the balls to do it with anything else than Anonymous Coward.

    2. Re:astounding by Anonymous Coward · · Score: 0

      I don't think so. If this place vanishes, these morons will pollute the rest of the web with their useless banter and faux "intellect". I like knowing where all the Slashdorks are -- it's like a registry of pedophiles. Probably more than I intended.

    3. Re:astounding by Anonymous Coward · · Score: 0

      Dear "ColdZero". I notice you have a brand new slashdot ID and your only post here flames anonymous users.

      Since you are in fact just as anonymous as Mr.Coward, please post your full name as well as a postal or internet contact address. Otherwise, shut up.

      Thanks.

    4. Re:astounding by yomegaman · · Score: 1

      Yeah, just think what they would have said about NFS, if any of them had been born when it was introduced. "You could just overwrite the kernel! OMG, M$ suXorz!"

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
  24. FreeBSD's firewire already can do this by imp · · Score: 4, Informative

    FreeBSD already supports gdb over firewire using
    the firewire bridge ability to DMA to/from any
    location of memory. Very handy for remote kernel
    debugging.

  25. No on read the article or looked at the spec. by nerdwarrior · · Score: 5, Informative
    This technology is not what the headline claims.

    First, what the headline would have you believe has been invented is making it appear as though the RAM of one machine is really the RAM of another machine. This technology has been around and used for quite some time in clustered/distributed/parallel computing communities since at least the 1980s.

    If you look at a brief summary of the spec, http://www.rdmaconsortium.org/home/PressReleaseOct 30.pdf, you'll find that all that's happening is that more of the network stack's functionality has been pushed into the NIC. This prevents the CPU from hammering both memory and the bus as it copies data between buffers for various layers of the networking stack.

    I'll also note that the networking code in the linux kernel was extensively redesigned to do minimal (and usually no) copying between layers, thereby providing very little advantage of pushing this into hardware.

    Please, folks, don't drink and submit!

    1. Re:No on read the article or looked at the spec. by soldack · · Score: 1

      Not exactly. Most NICs today due DMA without CPU assistance. This talks about writing to another host's memory. Much of it is about removing the TCPI/IP stack to a NIC but also allowing a caller to specify where the data should go in remote memory.
      Offloading the TCP/IP stack will be needed for current servers to push 10 Gb over TCP/IP. It also becomes a big deal for latency reduction and for iSCSI performance. It makes a big difference. Most of todays dual CPU Intel based boxes have trouble going too much over 1Gb. 10 Gb is out of the question without offloading. Using RDMA over a Send/Recv type model also give you more flexibility over interrupt rate. Finally, offloading the stack will include offloading segmentation, a big CPU hog. Although APIs exist for this today on some OSs, this API would also include it.
      InfiniBand does a lot of this already. Sockets Direct Protocol is pretty similar in the way it works. In fact, many of the folks that worked on SDP worked on this spec. MS is very into this and should be talking about it at this years WinHEC.

      --
      -- soldack
    2. Re:No on read the article or looked at the spec. by Rob+Riggs · · Score: 1
      Most of todays dual CPU Intel based boxes have trouble going too much over 1Gb. 10 Gb is out of the question without offloading.

      I know of very few hardware platforms, Intel-based or otherwise, that can handle 10Gb/s over a single I/O stream. PCI just doesn't go that fast (yet).

      You'll need more than what's in this spec to get to 10Gb/s.

      --
      the growth in cynicism and rebellion has not been without cause
    3. Re:No on read the article or looked at the spec. by Anonymous Coward · · Score: 0

      Unless you have a plug-in card that integrates a high speed NIC and generates random data. Now, why would you want something like this? Hmm...

  26. NUMA by TheRealRamone · · Score: 5, Informative

    This article defines NUMA as

    "an acronym for Non-Uniform Memory Access. As its name implies, it describes a class of multiprocessors where the memory latency to different sections of memory are visible to the programmer or operating system, and the placement of pages are controlled by software. This is in contrast to shared memory systems where the memory latency is uniform or appears to be uniform. ...may be further subdivided into subtypes. For example, local/remote and local/global/remote architectures. Local/remote machines have two types of memory: local (fast) and remote (slow). Local/global/remote machines add one more type of memory, global, which is between the local and remote memories in speed."
    which seems to cover all of this.
    1. Re:NUMA by Jim_Hawkins · · Score: 1

      Actually...isn't NUMA already in use? (National Underwater and Marine Agency.) You know...the same organization that Dirk Pitt belongs to.

      (See Clive Cussler's novels if you don't know what I'm talking about.)

    2. Re:NUMA by bitmason · · Score: 1

      NUMA architectures as the term is generally used don't really have a direct relationaship with Remote DMA, Renote Shared Memory etc. (except insofar as remote accesses of any type tend to take longer than local ones.) NUMA is a type of SMP system design in which a given CPU can access some memory locations faster than others because they're physically closer. Almost all big (>8 way) systems in commercial use today are NUMA to some degree or other whether thewir vendors choose to advertise the fact.

      To be more precise, NUMA as it is generally used today is synonymous with cache coherenet NUMA (cc-NUMA) and is architecturally similar to all other shared memory systems (basically SMP's) except for the fact that some meory accesses take longer than others -- which the OS should take into account.

    3. Re:NUMA by Webmonger · · Score: 1

      What you say is all true. But it seems as though clustering is becoming more like multiprocessing, and RDMA can be seen as an extension of NUMA. Certainly, the implementation will be easiest on NUMA-aware operating systems.

    4. Re:NUMA by bitmason · · Score: 1

      Absolutely. The historical distinction between distributed memory and shared memory definitely begins to blur a bit with RDMA. Just a little bit for now. But in the future the boundaries will blur further. And recognizing that latency differences are very important (which is what NUMA-aware means) will become increasingly important.

  27. Re:Oh heck ... by Anonymous Coward · · Score: 0
    mammory ... I guess my mind has gone to rot already.

    Searched the web for mammory...

    Did you mean: mammary

    Next time, resist the temptation to use the rotten mind!

  28. Most of y'all are missing the point here by ocelotbob · · Score: 1

    It seems to me that this is all about implementing a few tweaks to the protocol to allow NICs to use DMA to a much more efficient measure. It's not about letting apps coming from the network to use arbitrary memory blocks. It means programs like apache will be a bit faster because one can program the NIC to pull data directly from the buffer set aside from network access rather than having the CPU do such work. This is about UDMA for networks, not an insanely stupid backdoor.

    --

    Marxism is the opiate of dumbasses

  29. Re:Memmory? by stevejsmith · · Score: 1

    Actually, I think it's "memorium," if you're referring to the Nirvana song. It's good to know we have some cultured Slashdotters. :-

  30. Already supported? by Anonymous Coward · · Score: 0

    I'm sure you can already pretty much do this with Windows/IIS... of course Microsoft probably doesn't know about it...

    Anyone?

  31. Re:Memmory? by stevejsmith · · Score: 1

    ...er, or rather, "memoriam." M-W: "in memory of -- used especially in epitaphs"

  32. Re:Kid N' Play R00Lz by miketang16 · · Score: 0, Troll

    This post is the epitome of why there should be the option of complete post obliteration on slashdot...

    --
    -------
    "In times of universal deceit, telling the truth becomes a revolutionary act."
    -- George Orwell
  33. I can already do this... by gweihir · · Score: 3, Insightful

    1. ssh root@remote-machine
    2. read from and write to /proc/kcore in remote-machine

    So where is the use of that? And shared memory emulation over a network is also a decades old technology.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted and ignored otherwise.
  34. Great for handheld devices by nurb432 · · Score: 1

    More off loading of resources on PDA's and Tablets... Could help reduce the cost to the point they are like stickypads... throwaway.....

    --
    ---- Booth was a patriot ----
  35. Neat... by johny_qst · · Score: 1

    I was wondering when we would see more of the network becoming the system bus for the computer. Sun, IBM, HP, and others have been working toward this type of architecture where a network serves as the interconnect for cpu's, ram, disks. Was a good read, but left me wanting more... Soon. Why is it so rare to see good stories make the frontpage on /.?

    --
    Fnord.sig
  36. I have heard of a similar technology by Anonymous Coward · · Score: 2, Funny

    Allowing one to access the memory of a remote computer over an IP network. Several programs have presented this useful feature including BIND DNS server, Sendmail MTA and of course MS IIS web service. The technology is called "buffer overflow" and has been used by many individuals for "fun and profit"^H^H^H^H^H^H^H^H^H^H their computing needs. The ultimate guide to using this great feature has been seen here

    1. Re:I have heard of a similar technology by Anonymous Coward · · Score: 0

      Here is http://www.shmoo.com/phrack/Phrack49/p49-14

  37. Egad by Anonymous Coward · · Score: 0

    Why is it we can figure out more and more ways to use braudband but not get it deployed, practical, and cheep?

  38. Sounds like SCRAMNET by curtoid · · Score: 1

    Check out http://www.systran.com for their "Shared Common RAM NETwork" products....

    This would only be a slightly different transport...

  39. Security Implications by Acidic_Diarrhea · · Score: 1, Insightful
    Yes, there are security implications but here's the point: there are security implications for a lot of applications written for your computer. These obviously have to be taken into account but just because there are risks involved doesn't mean that attempting an implementation should entirely be avoided. I mean, there are security implications for running a web server (especially an out of date one with exploits all over the place); does that mean no one should run a web server?

    I think that shared memory across a network is doable but, like all initial attempts, bugs will exist. But the benefits of having shared memory like this outweight the drawbacks of having a hard problem to solve.

    --
    I hate liberals. If you are a liberal, do not reply.
    1. Re:Security Implications by astrashe · · Score: 1

      That's a good point -- I don't dispute what you're saying.

      But it's one thing to have this feature in the machines that make up a cluster that runs a big DB, and another thing to have it in every machine. The story said that MS is talking about putting it every version of windows, to help spread the technology's adoption.

    2. Re:Security Implications by Anonymous Coward · · Score: 0

      There's another issue that's more sinister here. This is remote DIRECT memory access. No CPU checking whether the remote computer or process on the remote computer or the person running the process on the remote process has the right to access this. It's just done.

      Sure there will probably be an API written at the TCP level that both the client and the "server" will need to agree to the RDMA transfer, but how long before someone figures out how to get around that formality? Remember, we have SMTP sending email valid email with valid addressors. No one will fake SMTP headers.

      How long until something similar happens with RDMA?

    3. Re:Security Implications by klocwerk · · Score: 1

      does that mean no one should run a web server?

      It sure means that MY hosting providers shouldn't be...

      --

      "You worthless post!"
      -Shakespeare, 2 Gentlemen of Verona, 1. 1. 147
  40. Re:haha... outlook worm writers will have a field by Spyffe · · Score: 3, Interesting

    Scott McNealy said that, but the vision was implemented by others. CMU's Mach (1985), Andrew Tanenbaum's Amoeba (1986), and Plan 9 (1987) were OSes that made a network into a computer.

    To be fair, Sun does have ChorusOS , but that seems to have died the death (i.e. gone Sun Public Source) despite Scott's best intentions.

    --
    Sigmentation fault - core dumped
  41. Re:Kid N' Play R00Lz by Anonymous Coward · · Score: 0

    I agree, as long as by "this post" you meant your own. Now STFU.

  42. You're not doing the same thing by Acidic_Diarrhea · · Score: 1, Insightful
    From the article:"It helps reduce latency in data transfers between systems by directly placing data from one system's main memory to another's without the need for extensive buffering or CPU intervention."

    The approach you describe relies on CPU intervention on both ends of the connection. The article describes an approach that is much closer to the actual hardware than simply opening a ssh connection. I hope this clears the issue up for you!

    --
    I hate liberals. If you are a liberal, do not reply.
    1. Re:You're not doing the same thing by gweihir · · Score: 1, Interesting

      The approach you describe relies on CPU intervention on both ends of the connection.

      Not allways. The ssh example was for show only. But about a decade ago I saw a diploma thesis advertised that should develop a hardware implementation for shared memory that could work without special drivers. True it was SCSI-based and therefore did not allow non-local networking. But with non-local networking the transfer dominates the latency anyway and hardware does not help.

      All I am saying is that the idea is neither new nor interessting.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted and ignored otherwise.
  43. swapping over nfs by flok · · Score: 1

    In what way is this technique better then swapping over NFS?

    --

    www.vanheusden.com - home of Multitail, HTTPing, CoffeeSaint, EntropyBroker, rsstail, bsod, listener, nagcon, nagi
  44. Don't worry by Anonymous Coward · · Score: 0

    They'll require the evil bit to be set for any malicious connections

  45. Infiniband is dead by Anonymous Coward · · Score: 0

    IB is dead before it even started. How many companies pulled out of support? Only one or two companies will be making the chip.

    3GIO ( or whatever Intel is calling it ) RapidIO and Hypertransport will fill the void.

    1. Re:Infiniband is dead by wheezl · · Score: 1

      yep, and this is sad. Having read a fair amount of the Infiniband Spec I have to say it was really damn nifty. I think perhaps manufacturers realized how cheap and flexible IB would have made everything... and promptly killed it.

      --
      -- oh.... so..... sleeeeeepy.
    2. Re:Infiniband is dead by Anonymous Coward · · Score: 0

      Infiniband chips are not particularly simple chips, that might be a reason why some companies jumped off the bandwagon. But what is left looks quite promising. I get next month my first IB adapters to experiment with....

    3. Re:Infiniband is dead by Erich · · Score: 1
      I think there's more momentum behind RapidIO for multidevice interconnect on high-bandwith processing (like wireless base station). Especially with PowerPCs coming out with RapidIO on borad.

      I think that the major future switch fabric is PCIExpress. It is what's going to go into the consumer and semi-consumer markets (at least, that's my guess). It's going to be fast, serial, switched, and most importantly, has the 800lb gorilla of Intel behind it.

      --

      -- Erich

      Slashdot reader since 1997

  46. plan9's had this since it started by DrSkwid · · Score: 4, Informative

    The proc device serves a two-level directory structure. The first level contains numbered directories corresponding to pids of live processes; each such directory contains a set of files representing the corresponding process.

    The mem file contains the current memory image of the process. A read or write at offset o, which must be a valid virtual address, accesses bytes from address o up to the end of the memory segment containing o. Kernel virtual memory, including the kernel stack for the process and saved user registers (whose addresses are machine-dependent), can be accessed through mem. Writes are permitted only while the process is in the Stopped state and only to user addresses or registers.

    The read-only proc file contains the kernel per-process structure. Its main use is to recover the kernel stack and program counter for kernel debugging.

    The files regs, fpregs, and kregs hold representations of the user-level registers, floating-point registers, and kernel registers in machine-dependent form. The kregs file is read-only.

    The read-only fd file lists the open file descriptors of the process. The first line of the file is its current directory; subsequent lines list, one per line, the open files, giving the decimal file descriptor number; whether the file is open for read (r), write, (w), or both (rw); the type, device number, and qid of the file; its I/O unit (the amount of data that may be transferred on the file as a contiguous piece; see iounit(2)), its I/O offset; and its name at the time it was opened.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  47. Yeah, but... by I'm+a+racist. · · Score: 0

    Can you eat it?

    --


    Down with Saudi Arabia!!!
  48. Please don't say it. by JojoLinkyBob · · Score: 2, Funny

    "Imagine a Beo-(clobber mangle clobber mangle)..$%@$%@$@%$!"

    --
    -jc
  49. we don't need no steenkin' buffer overflow attacks by mr_death · · Score: 1

    ... when we can just plant our code in your memory directly.

    (ok, ok, there should be some serious security with remote memory. I couldn't resist.)

    --
    It's Linux, damnit! Pay no attention to renaming attempts by self-aggrandizing blowhards.
  50. XFree86 and DRI by Anonymous Coward · · Score: 1, Interesting

    I wonder why noone pointed that out before. This might enable (more or less) DRI to remote X-server...

    Imagine running accelerated X-server and being able to start [insert your favourite 3D game] on a remote host.

    Of course _if_ 1Gbps is enough.

    1. Re:XFree86 and DRI by soccerisgod · · Score: 2, Informative

      That would be possible, but do you think it's faster than GLX? It both goes over a network first... and I guess the security implications of such an attempt are more serious than the ones present in GLX implementations....

      --
      If a train station is a place where a train stops, what's a workstation?
  51. Infiniband is not dead by soldack · · Score: 1

    Really? Seems odd that my company keeps selling it. Sun is using it in their next systems. Network Appliance is using it today. Intel is selling systems with it. Chips are made by Mellanox, Agilent, and Fujitsu. Sun and IBM are doing chips for internal use. There are still a good number of IB vendors as well. See InfiniCon Systems (where I work), TopSpin, InfiniSwitch, Voltaire, and JNI. There are also a bunch of folks using IB in embedded environments.
    The high performance computing market and database clustering market are really interested in IB. 10 Gb ethernet is many times more expensive and without a TOE that can do 10 Gb, no one can really use it except for switch to switch. 10 Gb fibre channel isn't quite out yet.
    Also, many companies are still paying people to spend a big chunck of their time working on InfiniBand Trade Association Working Group issues.

    Finally, none of the technologies you mentioned solve clustering issues because they are for inside the box, not from box to box.

    --
    -- soldack
    1. Re:Infiniband is not dead by Anonymous Coward · · Score: 0

      ...Sun is using it in their next systems.

      Err, I suggest you believe it when you see it. Sun have a habit of dropping dying technology ever so quietly.

  52. Worst possible technique for distibuted systems. by johnjaydk · · Score: 3, Insightful
    Now shared memory might be an incredible neat solutions, in theory. In a multi-cpu box with a shared databus the system holds water but not in a hetrogene, lose coupled system.

    The amount of book-keeping required to keep this thing going makes it a non-starter. And as for scale'ing. Forget it.

    The sad truth is that it's common knowledge that this is the least efficient principle for distributed systems. This technique is usually the fall-back position if nothing else works.

    --
    TCAP-Abort
  53. interesting by Vej · · Score: 1

    I cannot wait to see some raw test numbers off of this on many different scenarios.

    The only thing with this is providing redundancy and backups....if there's any latency then, nothing gets done. How much overhead is really involved in checking the data, checking the connection, restarting/etc.

  54. Not usually a great idea. by dtfinch · · Score: 1

    Did people learn nothing from MS Access databases, where you've got a bunch of people accessing this database file directly instead of through a server? It didn't scale very well, network usage was excessive, and every once in a while the database would get irrepairably corrupted, often when any one of the computers accessing it crashed.

    With direct memory access, we're going to have the same problem, plus garbage collection is going to be a pain. Memory locking will especially pose difficulties, and may require several round trips between the client and server. If a computer crashes, parts of memory in any computers it was accessing could be left in an intermediate state. And hackers and virus writers will see it as a dream come true.

    Keep server code on the server.

  55. What's new about this? by Anonymous Coward · · Score: 0

    I've been using user-mode virtual memory driver that uses IP (UDP actually) for 8 years. It's really a simple technology, and I'm sure it's been done before my work as well.

  56. dry fiber? by cdn-programmer · · Score: 1

    parts of the internet run over dry copper. With this system you can have the telephone company install a twisted pair at a cost of about $30 bux per link between any _resonable_ pair of locations and then you can hook up whatever you want also _within reason_. This allows one to run say DSL or MVL or whatever you want.

    AFAIK there is not equivalent offering for fibre and one really needs fiber to be able to do anything interesting.

    Now - if dry fiber did exist then it would make a great deal of sense to rent it and drop in some 100baseT to fiber drivers. These cost under $1000 bux for many models and can drive oh up to say 75 KM's.

    Fibre costs about as much as copper anyway - to buy and install. If the phone company can make a bux renting dry copper at say $25 per month - then they should be able to make the same bux renting dry fiber. Imagine - 100MB/sec ethernet across town for say 50 bux/month. Attractive? I think so!

  57. Reminds me a little of Xfs by Anonymous Coward · · Score: 0

    http://now.cs.berkeley.edu/Xfs/xfs.html

    xFS: Serverless Network File Service

    Clients pony up some RAM that is devoted
    to a distributed file system, with fail
    over, redundancy, migration, etc.

  58. Brought to you by Microsoft by Dachannien · · Score: 1

    ...because haxoring those buffer overflow exploits is just too damn hard.

  59. strange as it goes... by lfourrier · · Score: 1

    ... I was toying for some time with the reverse idea, replacing network with memory access, having one processor write at processor speed to a special memory location, and another reading at processor speed from a special memory location, the two being interconnected. The idea being to explode gigabit ethernet speed limits

  60. What this is REALLY for by calica · · Score: 3, Insightful

    First off, this is not a network shared memory scheme. RDMA could be used to implement one very efficently though.

    It will not allow arbitary access to your memory space. In fact, it would prevent a great number of buffer overflow exploits

    The best analogy is the difference between PIO and UDMA modes of your IDE devices (or any device). This is all about offloading work from your CPU. It is moving the TCP/IP stack from the kernel to the network card for a very specific protocol.

    Here's how RDMA would work layered over (under?) HTTP.
    - browser creates GET request in a buffer
    - browser tells NIC address of buffer and who to send it to.
    - NIC does a DMA transfer to get buffer. OS not involved
    - NIC opens RDMA connection to webserver
    - server NIC has already been told by the webserver what buffer it should put incoming data
    - webserver unblocks once data in buffer and parses it.
    - webserver creates HTML page in second buffer.
    - webserver tells server NIC to do a RDMA transfer from buffer to browser host
    - client NIC takes data and puts it in browser buffer
    - browser unblocks parse HTML and displays it.

    All of this with minimal interaction with the TCP/IP stack. RDMA just allows you to move a buffer from one machine to another without alot of memory copying in the TCPIP stack.

    In fact, the RDMA protocol could be emulated completely in software. It would probably have a small overhead verses current techniques but would still be useful. Just imagine real RDMA on the server and emulated RDMA on the clients (cheaper NIC). The server has less overhead and most clients have cycles to spare!

  61. Just one problem... by NerveGas · · Score: 2, Insightful

    Sounds like a great tool for clustering, especially considering that the new motherboards have gigabit ethernet and a link directly to the northbridge/MCH.

    There's just one problem with that... ethernet (even GigE) is *not* a good connection for clustering. Sure, the bandwidth is semi-decent, but the *latency* is the killer. Instead of a processer waiting a number of nanoseconds for memory (as with local memory), it'll end up waiting as much as milliseconds. That may not sound like much, but from nano to micro you jump seven orders of mangitude!

    steve

    --
    Oh, you're not stuck, you're just unable to let go of the onion rings.
  62. Microsoft announces... by Tokerat · · Score: 2, Funny


    ..."See, we TOLD you it was a feature!" Microsoft will also sue the researchers working on this project, citing they Innovated this years ago.

    --
    CAn'T CompreHend SARcaSm?
  63. Great, but what about XML? by Hassan79 · · Score: 2, Funny

    We can also start wrapping processor instructions in XML and transmit them via SOAP, in order to create more interoperability between different machine architectures! Remember, we already have IP over XML :-)
    That's what the whole thing sounds like to me...

    --

    Don't drink and su! antidisestablishmentariazationally
  64. Already exists to some degree by Leimy · · Score: 1

    If you get a Myrinet cluster and run IP over it I think it uses the GM kernel driver which does exactly DMA remote access. The NIC has to be smart enough to handle this of course.

    Cplant style clusters do this as well. They also provide an API called Portals which revolves around RDMA. Portals, incidentally, is being used in the Lustre cluster filesystem and is implemented in kernel space for that project. It can use TCP/IP I believe but its not real RDMA.

    *sigh* some day all NICs will be smart enough to not interrupt the CPU to do data delivery. That would rock :). But what of security?

    Don't know myself.

  65. The Terminator by Anonymous Coward · · Score: 0

    "The SkyNet funding bill is passed. The system goes online on August 4th, 1997. Human decisions are removed from strategic defense. SkyNet begins to learn at a geometric rate. It becomes self-aware at 2:14am Eastern time, August 29th. In a panic, they try to pull the plug...And, Skynet fights back."

  66. this would be nice by zogger · · Score: 1

    ... this would be nice in two applications on the low end. It would be nice to be able to recycle older hardware that has a too-small RAM limit now, perhaps with a pci card gizmo. Or to be able to upgraxde to better quality RAM. It would also be nice in a home or business lan situation where you could have several relatively cheap dumb nodes but a server that has or is capable of using a huge amount of ram and serving that along with various files.

  67. Not by default by pantherace · · Score: 1

    but it can be made to do it using a patch, see the contrubutions on openmosix.org

  68. RDMA similar to AIO by Anonymous Coward · · Score: 0

    From a quick read of the article, RDMA isn't really much different from AIO (asynchronous I/O), which is currently being integrated into the next great Linux kernel (or maybe the one after that). Thus, I expect all of you to become instant converts.

    Having pandered to the 'dude-if-its-not-Linux-its-not-worth-talking-about ' crowd, I think this whole idea is pretty sound. We're not really talking about unrestricted remote access to memory, but remote DMA--like in your sound card--which allows for chunks of memory to be transferred without the explicit involvement of the process(or). The performance implications of this are similar to using sendfile() to serve static Web pages. It's just another way to lob buffers around the network.

    Since this is a proposal for enhancing Ethernet, I gather there's some sort of hardware basis for why this is such a great idea, since it seems pretty darn obvious that it's been done before in software. But I don't think they got into that in the article, except for the mention of the offload chips (but how is that really any different from using an SSL accelerator? why is this technology tied to Ethernet?).

  69. not pushing 10 Gb...yet by soldack · · Score: 2, Informative

    I have seen dell 2650s hit over 800 Megabytes (6.4 Gb) per second running MPI over InfiniBand using large buffer sizes. The limit is pretty much the PCI-X 133 Mhz interface we are on. I suspect that with PCI-X DDR and PCI Express, we will be able to get a lot closer to 10 Gbit.

    --
    -- soldack
  70. Gigabit onboard is new? by Loco3KGT · · Score: 1

    Um.. how about Apple's computers.... they've been doing onboard gigabit for a few years haven't they?

    --
    Blessed be he who reads this post, Cursed be he who tells my boss.
  71. Windows has this feature by fireman+sam · · Score: 1

    Windows has had this feature where stuff in my ram
    could be read my anyone who sent me an outlook
    attachment...

    Or is this something different?

    --
    it is only after a long journey that you know the strength of the horse.
  72. All your memory are belong to us by Lord+Sauron · · Score: 1

    This gives a whole new meaning to remote exploit.

  73. NBD by pr0ntab · · Score: 1

    1. Set up a ramdisk on a machine with lots of RAM.
    2. Set up a network block device to export said ramdisk.
    3. Set up client using nbd-client to talk to server with network block device.
    4. swapon /dev/nd0
    5. profit!!!

    Using NFS for disk-based swap is possible but silly since you incur the extra overhead. NBD works on a plain vanilla TCP connection and avoids touchy issues like memory vs. packet fragmentation. If you have a gigabit ethernet card with zero-copy support in the driver, then you are in business.

    Have another go at it! It's fun

    --
    Fuck Beta. Fuck Dice
    1. Re:NBD by hankaholic · · Score: 1

      Well, it was more of a half-hearted attempt to piss off my Windows-using roommate.

      He was complaining about slow swapping, and I was like, "hmmm... I can probably swap over the network to the fileserver machine!"

      I'm not sure if NBD was in the kernel at the time, and it definitely wasn't compiled in. This was, umm, '98 or '99, I believe.

      Of course, this was from my P2-200 with 32 MB of RAM. Our file server was a dual 233, IIRC, with like 128 MB, most of which did nothing most of the time.

      Campus network, also -- no 100 mbit, even had the cards supported it, and as a college student I didn't have the cash to dump on faster equipment, but it was more of a proof-of-concept (or, proof of "my OS is more capable than yours").

      --
      Somebody get that guy an ambulance!
  74. Reflective Memory by NitsujTPU · · Score: 1

    There are already similar solutions if your intention is to cluster.

    http://www.vmic.com/

  75. Just imagine... by soundofthemoon · · Score: 1

    ...a Beowulf cluster of this!

  76. Unless... by karlm · · Score: 1
    Unless they include a simplified kerberos implementation (with sequence numbers making replays impossible) on the NIC, they're in for trouble and lots of it.

    1)Get into one machine behind firewall.

    2)Sniff database's possibly encrypted RDMA setting your account to zero balance.

    3)...

    4)Profit!!! (Replay the message setting your account balance back to zero before you get billed.)

    --
    Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  77. IPC through TCP/IP by Anonymous Coward · · Score: 0

    DIPC, Distributed Interprocess Communication has been around for years. It's presently a Linux kernel mod which allows standard IPC through TCP/IP, so you can use shared memory and semaphores between computers. It is implemented so an application merely has to turn on one more bit in an IPC request to activate DIPC, and then the configuration file handles where the data goes.

  78. Re:I know how to access another computer's memory! by GnarlyNome · · Score: 1

    I accessed the memory of a Honeywell Alpha-Delta 3000 with a 12Ga. once.

    --
    Diplomacy is the art of saying "Nice doggie" until you can find a rock. Will Rogers
  79. been there, done that by h4x0r-3l337 · · Score: 3, Interesting

    Well, sort of...
    "Back in the day", I wrote a virtual memory handler for my Amiga's accelerator card (which had a 68030 and MMU). Meanwhile, some friends of mine had developed this networking scheme that involved wiring the serial ports of our Amiga's together in a ring, which allowed us to have a true network without network cards.
    Then came the true test: I configured my virtual memory to use a swapfile located in a friend's RAM-disk (he had way more memory than I did), fired up an image editor, opened a large image, and lo and behold: I was swapping at a whopping 9600 bytes per second! The fact that every packet had to pass through multiple other machines (because of the ring-nature of the network) didn't make it any faster either...

  80. memory access over IP by buckminsterinsd · · Score: 1

    Back in the mid 1980's somebody implemented network connection hardware that used N-way cache coherency for a memory to memory shared data segment. The CPU did not do anything to keep the the data synchronized between all the systems.

    It was notable because the guys who implemented it were unaware that you could not do that without the overhead of network protocol to slow everything down to a crawl but they made it work anyhow.

    It was called 'membus' or something similar.

    Anybody remember this or is it just the drugs again?

    best regards,

    buck

  81. Heh - like in the old VMS days (NT) by haraldm · · Score: 1

    duh - reinvented, actually.

    --
    open (SIG, "</dev/zero"); $sig = <SIG>; close SIG;