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."

33 of 496 comments (clear)

  1. This is new? by Aero+Leviathan · · Score: 3, Insightful

    Wasn't this what Unix (and/or its predecessor, Multics) was designed for?

    --
    ~ Aero
    1. Re:This is new? by Anonymous Coward · · Score: 3, Insightful

      Nope this is not new at all.

      However running multiple instances of X on a single computer is pretty new. Before you had seperate machines that acted as X terminals that had their own low-power proccessor and video card for driving the gui and their own keyboard and mouse. Then those plugged in thru the network and into the computer that way.

      With this method you simply attatch the monitors and keyboards to a single machine and share the resources that way.

      More direct and a bigger pain in the arse. PC's were disigned for single user only, putting multiple keyboards and mice and assigning them to specific users is quite a hack. To most people they have old PC's laying around that make great X terms without having to go thru that effort.

      X terminals is the way to go in office and especially school enviroments. You have a single computer serve multiple people so it may seem that is going to be slow, but realise that the majority of the time the CPU is near-idle most of the time on a single machine. Also by investing in higher performing disks like scsi array you can even increase performance because it's cheaper to do that then buy a have dozen new machines with a single low end IDE harddrive on it.

      Also you remove the need for complex network setups like Active directory. It's much more secure and easier to simply setup a multiuser setup on a single Linux machine. It's already setu p like that by default, and X terminals is a nice extension on that.

      Centralize administration, make backup easiers. Reduce network problems, reuse obsolete PCs without pissing anybody off, higher reliability, higher disk performance, cheaper. etc etc etc.

      By centralizing your reasources you can spend big bucks on a few fast machines, then spreading them out on error prone low-end machines that require a lot of admin time to upkeep.

    2. 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.

  2. 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.

  3. 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.

    2. Re:1975 called by Angry+Prick · · Score: 3, Funny

      The Jerk Store called, they're all out of you.

      (ob Seinfeld reference)

  4. 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.
  5. 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.
  6. Been there, done that by Haydn+Fenton · · Score: 3, Funny

    Heh, there was once a time where I had three mice (only 1 cursor though) - I had a normal PS2 mouse plugged in, an old COM port (I think.. never been too sure what port it was) mouse and a wireless USB mouse all plugged in at the same time, and they could all control the cursor.

    Hehe, it was good for playing tricks on my parents when they were sitting at the desk with the PS2 mouse and I'm sitting a few feet behind them with the handy wireless USB mouse.
    *evillaugh*

  7. 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.

  8. 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.

    1. Re:Hate to burst your bubble... by C64 · · Score: 3, Interesting

      To expand further on the parent's point - I personally have 4 monitors hooked up to my main machine, using a combination of GeForce2's and FeForceMX's. And I have on ordered another GeForceMX to push my count up to 6 monitors.

      Heat has never been an issue. And this is a standard ATX case - no mods, no heavy cooling. Just one intake, one exhast, and the PSU.

  9. 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...

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

    it doesn't involve a mainframe?

  11. 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"
    1. Re:Wow, lots of dumb responses... by Lumpy · · Score: 3, Informative

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

      Sure :-)

      I buy NCD explora 701's and 402's all day long at $10.00 each the local community college was donated about 10,000 of the things and has no idea what to do with them. I have been buying lot's of 10 at $10.00 each and selling them to clients on the side. I also see them as well as the newer ones on ebay for around that price and up to $20.00 each. add a 15 inch monitor which can also be had for dirt (and has the EXACT same cost as this 4 head setup btw...) oh and keyboard, mouse. (same ,same) and a 100 base switch + a second 100 base ethernet card in the "server"

      I can add a workstation to a P-4 class server for around $75.00 each. that includes a new 15 inch monitor, mouse and keyboard + the ncd 701 terminal. each P-4 (1.2ghz) can handle about 10 users comfortably. and if you get 701 explora's or use old Pentium 233MMX machines, you get accelerated video playback (and most ALL xterminals support sound.) and seperate sound for EACH terminal... something that is not available on this 4 head setup.

      the best way to actually set up a school full of x terminals is to have 3 servers... 1 for boot/ network management, 1 for 1/2 the apps and 1 for user login + storage and the rest of the apps.
      using this setup we were able to install about 100 xterminals for a christian school for around $10,000.00US not including the wiring of the CAT-5e... that labor was donated by someone else.

      so if you can show me that you can do it that cheaply (and yes, I make a profit at $75.00 each station... $39.00 each for gateway monitors, $10.00 each for the NCD terminals, $10.00 for cheap mouse and keyboard. that's $20.00 profit per station fro me) even at less than 100 units... my savings starts when the first pc is purchased. today's computers are horribly over-powered.

      --
      Do not look at laser with remaining good eye.
  12. Re:Economy? by TheOtherAgentM · · Score: 3, Informative

    That's not completely true. Since I'm not a Linux user, I'm not sure what kind of power a box would require to run something like this, but CRTs are only $100-150. Correct me if I am misspeaking, but I don't think you can buy a tower for anywhere near this price. The keyboard and mouse are pretty inexpensive. Would the video card have to push a lot of processing power? If so, maybe that's where the cost would even out, since there's so many video cards out that cost nearly as much as whole systems.

  13. 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.

  14. 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
  15. Re:Economy? by Texas+Rose+on+Lava+L · · Score: 3, Insightful

    These guys aren't using 21-inch flat panel monitors. A 17-inch monitor costs around $100 or so. Mice, keyboards, etc. are cheap. If the boxes are $300, plus $150 for a monitor, keyboard, and mouse, they're reducing the cost of 4 computers from $1800 to $900. This would mean they could support twice as many users without increasing the budget.

    Also, boxes need replacing more often than monitors, so you get even more cost savings later on.

  16. Benefit? by div_2n · · Score: 3, Insightful

    Ok, so by the time you spend all of the time and effort to do all of this, you could deploy a fully self contained thin client in what, 10 minutes?

    The only way I see this as a good idea for any low budget organization is if they get donated lots and lots of monitors, keyboards, mice and computers with graphics cards for this project.

  17. 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.

  18. 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."

  19. Re:LTSP still a better option by tempmpi · · Score: 3, Insightful

    TCO depends a lot on wages vs. hardware/software costs. If the wages are high, it can make sense to spend more money on hardware/software if that causes less downtime and less work for the adminstration. But if the wages are low, work-intensive solutions with slightly more downtime can become acceptable and have a lower TCO in the end. In countries like brazil I wouldn't be so sure if the TCO of a LTSP is really lower.
    Not unlikely hardware is more expensive than in the US and the wages are a lot lower for sure. And students are working on these PCs, so downtime is almost free. I believe such a four head solution also provides better response than a LTSP installation. Video playback and similiar stuff should be possible on a four head installation.

    --
    Jan
  20. it does workstation stuff very well by r00t · · Score: 3, Insightful

    Most of the time, your PC sits idle while it waits
    for you. Every now and then, you sit idle while you
    wait for the PC.

    Now get a 4x faster PC, and share it 4 ways.
    Very seldom will all 4 users need the CPU at once.
    So, nearly all of the time, you'll get better
    performance. When you need the CPU, most likely
    the other 3 users are reading, thinking, chatting,
    drinking, picking their nose, or whatever. The
    fast hardware is all yours.

  21. And the reason this can't be done with Windows... by NoMoreNicksLeft · · Score: 3, Insightful

    Could it be that windows doesn't support multiple monitors? No.

    Or that it can't support 4 different users on them (as opposed to 1 user getting a big display)? Probably not, at the very least, it would be hackable.

    Maybe it can't support multiple keyboards, or mice? Again, the most it would need is some hacking.

    Or maybe, just maybe, if you posted a webpage, telling someone how to use a single windows license for 4 users, M$ legal would go apeshit on you, and stomp you into a tiny, tiny greasestain?
    BINGO!!

  22. 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.
  23. 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!

  24. 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!

  25. 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.

  26. OOOOH..... linguistic pet peeve by SubliminalLove · · Score: 3, Funny

    Can you literally run something on a shoe-string budget? What, exactly, can you get in exchange for a shoestring? Or did you mean a budget literally equal to the value of a shoestring?

    Drives me nuts every time someone says 'literally' to modify a phrase that it is literally impossible to construe in any way but figuratively.

    ~Sub

    -1 Troll
    -1 Flamebait
    +1 Linguistic Merit
    +1 Crankiness