ThinClientMemoryUsage

Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2005-11-03 05:25:50
Size: 3083
Editor: 180_220_103_66-WIFI_HOTSPOTS
Comment: Initial entry.
Revision 5 as of 2005-11-03 16:37:19
Size: 3657
Editor: 209
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo  * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/thin-client-memory-usage
Line 32: Line 32:
 * Remove as much stuff as possible in the boot up.  * Remove as much stuff as possible in the boot up (see ThinClientFasterStartup)
Line 34: Line 34:
 * Find a way to limit the X.org video memory. By default, it's trying to grab 64 meg. 4 or 8's a lot more reasonable.
 * Use swap over nbd. The LTSP project has modified the nbd-swap server to automatically create the swap file on connect if it hasn't been created already. 
 * Find a way to limit the X.org video memory. By default, it's shadowing parts of the video memory into the main memory (in case of our testsystem this was 64MB). 4 or 8's a lot more reasonable.
 * Use swap over nbd. The LTSP project has modified the nbd-swap server to automatically create the swap file on connect if it hasn't been created already.
  * The existing nbd-swapd doesn't create the swap file if it doesn't exist, so ltspswapd is a modification to this. Tested and works.
  * CVSROOT=:pserver:sbalneav@cvs.ltsp.org:/usr/local/cvsroot
  * cvs co ltspswapd
Line 38: Line 41:

Videocard memory problem:

Preseed the debconf value xserver-xorg/config/device/video_ram to 4096 byte as a default in /etc/init.d/ltsp-client-setup, but make it respect a different value from lts.conf if one was set.

Summary

In order to have a good chance of Dapper being used in an older school lab, or non-profit organization, Dapper will have to be able to boot thin clients that have, at a minimum, of 32 megabytes of memory.

Rationale

There are a lot of older machines out there, and one of the huge selling points of any thin client GNU/Linux solution will be to use existing, older hardware that's unable to be used with other operating system. Third world countries, schools, non-profits, and cost-conscious companies will all be interested in taking advantage of hardware they already own.

Use cases

Jeff has an old lab with a bunch of old Pentium 120's with 32 megs of memory. He's been informed that to upgrade his current operating system that he bought in 1998, to the current one will be both expensive and painful, as it will require him to replace all of his lab machines. However, his good friend Mark gives him a Dapper Drake Ubuntu cd, and within a few hours, he's got it installed on his file server, and has got a shiny new lab without having to buy a single workstation.

Scott is a systems administrator at a government agency that is chronically underfunded. His boss wants full internet, email, web browsing, office suite, and other apps on every box, but tells him he must do it without upgrading machines, as, "it isn't in the budget". His friend Mark (yes, the same Mark as above) just happens to pass by with, surprise, surprise, a Dapper Drake CD. The day is saved, once again thanks to Mark.

Amina and Tiye are the founders of a small start up company working on an embeded thin client kiosk solution to be used in homeless shelters in a developing country. Money's tight, being a startup, and their kiosk portal's a web based solution, but they need something to power the minimal kiosk machine. Mark (this guy gets around) is once again on the scene, with the solution to their problems: A shiny new Dapper CD.

As Jeff, Scott, Amina and Tiye all watch Mark rocket off into the sunset, they turn to each other, and ask, "Who was that masked superhero"?

Design

Saving memory's easy: it's just a case of removing all the bits not needed. The swap stuff's a bit harder, but not much. See Implemntation.

Implementation

  • Remove as much stuff as possible in the boot up (see ThinClientFasterStartup)

  • Remove the restricted modules. Who puts an nVidia card in a thin client?
  • Find a way to limit the X.org video memory. By default, it's shadowing parts of the video memory into the main memory (in case of our testsystem this was 64MB). 4 or 8's a lot more reasonable.
  • Use swap over nbd. The LTSP project has modified the nbd-swap server to automatically create the swap file on connect if it hasn't been created already.
    • The existing nbd-swapd doesn't create the swap file if it doesn't exist, so ltspswapd is a modification to this. Tested and works.
    • CVSROOT=:pserver:sbalneav@cvs.ltsp.org:/usr/local/cvsroot

    • cvs co ltspswapd

Code

Videocard memory problem:

Preseed the debconf value xserver-xorg/config/device/video_ram to 4096 byte as a default in /etc/init.d/ltsp-client-setup, but make it respect a different value from lts.conf if one was set.

Outstanding issues

BoF agenda and discussion

Testing where to optimize.

ThinClientMemoryUsage (last edited 2009-07-24 03:12:16 by 201)