Slashdot Mirror


FourHead: One PC, Four Users

LoganGD writes "A reseach group from UFPR university in Brazil, C3SL has managed to make one Linux box run four terminals at the same time. That means four mice, keyboards, displays and users with just one CPU. The way they managed to do that can be found at the FourHead project webpage. The fact that one computer science laboratory can suport up to 60 users whit only 15 PCs is really attractive for low-resource groups and countries."

20 of 496 comments (clear)

  1. This has been done a long time ago... by Anonymous Coward · · Score: 4, Informative

    This has been done a long time ago...
    http://cambuca.ldhs.cetuc.puc-rio.br/multi user/

    But if one uses XGGI, its easy to get eight or more users on a single PC.

    - A.C.

  2. 1975 called by Chairboy · · Score: 4, Funny

    Hi there,

    1975 called. They want their computer headlines back.

    Best regards,

    Chairboy

    1. Re:1975 called by ed__ · · Score: 4, Funny

      1997 called; they want their joke back.

  3. Multi-headed Computer by pantherace · · Score: 5, Interesting
    I have looked at this... the problem is the way Linux handles the keyboard... To Linux, all keyboards are the same. If there was some way to either tell X to ignore all KBs except some, or have the kernel map them (say /dev/input/kb0 /dev/input/kb1) similar to how mice are done, this would not be a problem at all.

    Also, you don't need 4 cards, You could do it with two. NVidia's twinview allows you to run two seperate X-servers off of one card (provided of course that it has two outputs).

    1. Re:Multi-headed Computer by plaa · · Score: 5, Interesting

      Not relating directly to the above, but I think this may interest some people:

      When I got a dualhead card, I knew that I wanted two separate desktops, between which I can switch with a hotkey, not by scrolling the mouse to the other display (I wanted to use virtual desktops on both). I was astounded that I could find absolutely no way of doing this, and no references to it on the Net.

      The best I could do was make the screens separate and stop the mouse from going from the edge of one display to another, but then I found no way of moving the pointer to the other screen.

      After a few months I found a suitable function call in the X libraries and wrote a small program, switchscreen, to switch between the displays. Now I've got two totally separate desktops between which I can move with a simple alt-tab.

      You can read the details for configuring your X system like this in the README file included in the package.

      --

      I doubt, therefore I may be.
  4. My favorite line by Froze · · Score: 5, Funny

    Initially it is necessary to catch the code source of kernel 2.4.25. Makes it sound like an adventure.

    --
    -- The morphemes of your disquisition are ascertainable, but they have eschewed an ambit of transpicuous exposition.
  5. Re:The heat! The heat! by Arathrael · · Score: 4, Insightful

    It's not like the graphics cards are going to be pushed to the limit - I mean, the CPU wouldn't cope with them all playing ut2004 at the same time. :-) So they shouldn't be generating all that much heat, couple of case fans should cope with it no problems.

    As for the noise, it'll still be quieter than 4 separate boxes.

  6. Hate to burst your bubble... by Anonymous Coward · · Score: 5, Insightful
    But not everyone runs top of the line NVIDIA cards. I imagine the cards in this box are probably low budget Geforce 2's. Probably MX 200's. Might even be lower cards then that, since why do they need hardware 3d?

    I don't think anyone could argue that these create massive amounts of heat. What heat they do create can easily be exhausted by a case fan.

    This is definitely a setup for an environment where people are literally running on a shoestring budget. This is a really nice ability, and I'm glad someone has done it.

  7. Been there, done that by Uninen · · Score: 5, Funny

    Man, this is old news. We did this few years ago with five or more people on one machine. All we needed was a really small computer class, some free chairs, one PC, one keyboard, one mouse and one display.

    Fastest (or strongest) got the best seats and the one with specs got the keyboard.

    Talking about multi-tasking...

  8. Re:Mainframe? by ed__ · · Score: 4, Funny

    it doesn't involve a mainframe?

  9. Wow, lots of dumb responses... by benjamindees · · Score: 4, Informative

    Ranging from:

    'xterminals are cheaper' -- anyone care to back that up?

    to:

    'Windows terminal services can do this' -- don't know where to start on that one, suffice it to say: it can't.

    to:

    'This is just serial terminals' -- it isn't. RTFA.

    I'm sure I missed a few...

    --
    "I assumed blithely that there were no elves out there in the darkness"
  10. Re:Mainframe? by admbws · · Score: 4, Informative

    Mainframes used dumb terminals (that is, effectively a seperate machine connected to the mainframe via serial).

    This is a standard computer handling several video outputs, keyboards and mice by itself. Just the same as any one person system, but handling multiple persons instead.

    Or something.

  11. Re:Privacy issue? by SharpFang · · Score: 4, Informative

    And what if one person writes an important document and another wants to press reset?

    I suggest 4 CD-ROM drives and correct permissions set in fstab so everyone can use -their own- drive only ;)

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  12. Great gamer machine. No latency! by Animats · · Score: 5, Interesting

    This sounds like a multiplayer gamer configuration. Unlike most shared-CPU systems, everybody has a 3D video card, although they have to be PCI boards. With everybody on the same CPU, latency is a non-issue. Fast FPS games should synchronize perfectly. That tightly synchronized feel will make for much better head to head gameplay.

  13. Diversity is good by Darth+Cider · · Score: 4, Interesting

    Observations that "this has been done before" are really missing an important point, that it's being done in a new way. When there are hundreds of software solutions for everything, all for free, then there will cease to be a market for overpriced proprietary solutions. Not only that, but instead of thinking "where can I buy ___," the first thought to come to mind will be "where can I get this in Open Source."

  14. Re:This is new? by jmv · · Score: 4, Informative

    Not exactly, they were designed for multiple users, but not multiple mouse/keyboard/screen. Actually, I'm not even sure UNIX/MULTICS were even designed to have a keyboard or a screen, let alone a mouse.

  15. Re:Mainframe? by Lumpy · · Score: 4, Interesting

    This is a standard computer handling several video outputs, keyboards and mice by itself. Just the same as any one person system, but handling multiple persons instead.

    and has way more overhead and cost than using old P-I233 computers or dirt cheap x terminals on a network.

    I can support 10 users on one machine using Linux Terminal server for 1/4th the cost of their supporting 4 people on one machine.

    and I have a overall lower processor load.

    It's neat, but nothing more than that right now.

    Until the supply of free Pentium I class laptops and desktops dry up or the sources for dirt cheap xterminals dry up, it's nothing more than a expensive wy of doing things.

    --
    Do not look at laser with remaining good eye.
  16. They're TNT2, and hardware GLX is supported... by Anonymous Coward · · Score: 5, Informative

    Just here to let you know, this 4-user setup defined in this forum's topic is using four nVidia TNT2 graphics accelerators! These are better than GeForce graphics accelerators for driver-related reasons. Way back in the maturation of XFree86, with version 3.3.6, it is possible then and a throughout the 3.x XFree86 branch to configure XFree86Config to "Load """ Utah-GLX's nvidia driver to attain hardware-accelerated openGL. This is a completly different driver approach than DRI's openGL SAL. Utah-GLX provides X Server modules rather than its various competitors providing a /usr/lib/libGL.so.* and any non-standard patch cludged into the X Server. DRI project's openGL acceleration architecture at the moment may also allow mutliple local X Servers, albeit that of the various non-XFree86 such as the capable technology at DirectFB project (which allows accelerated openGL without a X Server; directly using the DRI without an X Server).

    Backtracking to Utah-GLX's driver (project page here, this will allow many complex openGL-phile programs to run at the same time given its architecture. I, however, doubt that older XFree86 3.3.6 will scale to this feat; I simply don't know. Yet, the Utah-GLX driver system has been ported to XFree86-4.x; it is a openGL GLX driver package in the form of dynamically loaded X Server modules/extensions and can be manipulated into and without the X Server without having to restart the X Server. It's somwhat parallel to the DRI driver, to provide an alternative, but it is not being maintaned anymore; Utah-GLX is dead and someone needs to commandeer!

    I am using three Athlon Thunderbid 700MHz computers with a total 9 nVidia TNT2 adaptors total (three per computer), S-Video composite output to NTSC televisions, and quad-bonded 100BaseTX ZNYX LAN adaptors for verry low-latency threaded shared openGL rendering; I use as Chromium 3D videowalls, by using XFree86 4.3 and Utah-GLX's nVidia openGLX driver.

    And yes, Quake3 looks hot!

  17. 60 users on 15 PC's - try 60 users on an 8MB VAX by stanwirth · · Score: 4, Interesting

    Has computing gone forwards or backwards when it takes thousands of times the compute power to support fewer users, doing dumber things. We used to run whole research departments developing mathematical modelling, computational physics programmes on a single DEC VAX 11/750 with 8 MB of main memory and like 80 MB of hard disk space. It was so underutilised that astrophysics would rent out time on the darn thing to geophysics and chemistry.

    This was on 4.2 BSD, the mother of all open source operating systems. And we had access to supercomputers at Argonne, NCAR, LANL, LBL and Cornell over the ARPAnet. in the freaking early 1980's.

    AND we produced beautifully typeset scholarly papers and theses, full of equations using TeX. Try doing that with Office. Hnf.

    Personally, I used to use maple to do the algebraic manipulations, and export to either fortran (to run a numerical simulation to get the results that formed my thesis) or to TeX (in order to publish it). Sure as hell can't do that with the stupid Office (open or MS) programmes you need 15 64MB computers to support only 60 users on in this model. Even if you insist on running a pointy-clicky GUI, with X10 we used to run dozens of graphics terminals off of one VAX

    This article just proves that the net progress of computing is actually backwards because the computers certainly are getting bigger/faster/better more slowly than the intelligence and creativity of the users -- now they all need a GUI just to edit text and compile programs. To the point that it's a miracle when you can have more than one person using a computer at a time now. Sheesh!

  18. Re:Mainframe? by john.r.strohm · · Score: 4, Informative

    If you go back some 30-35 years, you find some HUGE mainframe installations, supporting dozens or hundreds of online users simultaneously.

    Do a bit more research, and you find that those mainframe installations had processors that ran at clock rates somewhere between 1 and 20 MHz, with typically a few megabytes (equivalent) of RAM, and a few hundred megabytes of hard disk. (And a few tape drives, but the tapes were not really used that much, by comparison.)

    As a convenient example, consider the Control Data 6600 supercomputer at UT Austin in 1970. The CPU clock was 10 MHz, and it had just 131,072 words of main core memory, at 60 bits/word (which works out to about 1 Megabyte). It had two disk subsystems, one of which stored 168 million characters, the other storing 241 million characters.

    Compare this with a 486/33, with 4 megabytes of RAM, a 200 Mb and a 340 Mb hard drive. 4 times as much RAM, probably comparable CPU throughput (the 6600 CPU was a master of parallel execution: it could be running as many as 10 instructions simultaneously).

    The 6600 was heavily time-shared.

    Late in the 1970s, things started getting interesting. The magic point was called "3M", which stood for "1 MIP, 1 Megabyte, 1 million pixels", and the price on that was JUST BARELY within reach of an individual.

    Now look today. Our LOW END personal computers come with HUNDREDS of megabytes of RAM, hundreds of MIPS, tens or hundreds of gigabytes of disk storage, and several million pixels. (The limit on pixels is what you can get onto a display and refresh at a reasonable rate.)

    What limited these guys to "only" four users per PC wasn't processing power or video bandwidth. It was the number of PCI video cards they could physically stuff into a PC motherboard.