#pragma section-numbers off == Gelato at UNSW Wiki == This wiki is for sharing experience with the [[IA64 Linux]] kernel and related software, and for discussing high-performance computing using IA64 (IPF, Itanium Processor Family). It is maintained at the [[http://www.unsw.edu.au/|University of NSW]] in Sydney, using the MoinMoin package. If you don't know what a wiki is, see [[#MoinMoin|below]]. If you're going to modify this site, please read about WikiEtiquette. You can find out about the [[http://www.gelato.org|Gelato ]] project, and about what [[http://www.gelato.unsw.edu.au|we're doing]] on the web. Note: '''The Gelato@UNSW project is officially ended. This WiKi will be maintained more-or-less as-is for the foreseeable future; but none of us is being paid any more to work on Itanium or Linux.''' == Modifying this Wiki == We appreciate any changes to the WiKi content, however to avoid spam we request that you create an account to make changes. You should be able to make an account [[http://www.gelato.unsw.edu.au/IA64wiki/UserPreferences|here]]. We've been hit with a lot of spam from users with 163 . com and hotmail.com email addresses, and as far as I can tell, no legitimate edits. Therefore I have deleted all user accounts that use either of these mail providers. If you are a legitimate user, please recreate your account --- you'll be asked to confirm by email that you are who you say you are. == Starting Points for the Wiki == * RecentChanges: see where people are currently working * HelpForBeginners: to get you going * WikiSandBox: feel free to change this page and experiment with editing * FindPage: search or browse the database in various ways = Activities = The activities that Gelato@UNSW are involved in are: == Maintenance Activities == * We do a KernelAutoBuild each day of the IA64 Kernel from the offical development tree. * LargeBlockDevices extending Linux to use disc and disc-like devices bigger than 2Tb * LongFormatVhpt patches to use the long-format page table structure (thus enabling SuperPages and things like [[Glibc4TLBSharing]]) * PageTableInterface defines a generic interface for Linux page table operations, which will be used later for both the standard 3 level page table and the variable radix page table. * The MicroStateAccounting patch allows high precision accounting of where threads spend their time. * The GelatoDebianRepository contains software interesting to IA64 users. * [[http://www.gelato.unsw.edu.au/lxr|LXR]] archives for quick cross-referencing of kernel sources * [[SkiSimulator]] --- The Ski Simulator is an instruction level simulator for IA64 machines, that runs on IA64 or IA32 machines. == Research Activities == * SuperPages support for IA64 * UserLevelDrivers --- moving device drivers out of the kernel, for improved system reliability, and in some cases better performance. * [[TCPStackPerformance]] --- evaluating and improving the performance of the TCP/IP stack and networking drivers on IA64 * LinuxScalability --- scaling Linux on IA64 to large numbers of processors, large amounts of memory, and huge amounts of disc storage. * VariableRadixPageTables --- a more flexible page table structure for Linux to increased performance, enhance superpage support, and page sharing support. * [[NFSBenchmarking]] --- Evaluating and improving Network File System performance on Linux. * [[LinuxOnLinux]] --- Linux as a hypervisor for a paravirtualised Linux on IA-64 * [[IOScheduling]] --- Characterising and improving the performance of the block I/O schedulers in Linux 2.6 == Plans == Our current work and plans are at WorkItems and ProjectPlans = Topics = Main topics on this website include: * [[GettingStartedWithIA64]] --- a guide for people new to working on IA64 at Gelato@UNSW * LocalInformation on machines, [[booking]], partitioning, etc. * CrossDevelopment building and testing IA64 binaries on an IA32 machine * KernelTricksAndTips Tips and Tricks for Kernel Development. * [[IA64 Linux]] getting, configuring and compiling a kernel * [[IA64 Kernel]] Notes on the Linux IA64 kernel implementation * [[IA64 Hardware]] * [[Clusters]] Information on IA64 clusters * [[Performance measurement]] * MemoryConsistency Understanding the Itanium processor memory ordering model and how it arises * ItaniumInternals Various Itanium processor implementation details, with a focus on optimising system code * [[FAQ]] which you can join in if you like! * [[glibc on IA64]] Building and developing Libc and threading libraries. * [[how to sell ia64]] Summary of a talk given by Matthew Chapman at [[http://www.slug.org.au|Slug]] * [[Enhancements]] Possible enhancements to Linux for better supporting IPF/IA64 and large systems * [[IA64 whinges]] What I wish the designers had done differently * PatchReleaseChecklist Things to consider before releasing a Kernel patch * ToDoList Gelato@UNSW generic TODO list --- things we're thinking about looking into. * RelatedWork Linux activities that are ''not'' directly IA64 related, but are interesting nonetheless. * [[Benchmarks]] -- resources on benchmarking * DebianThings -- Pages related to Debian, including an IA64 DebianInstall walkthrough * SourceControl -- Links to various pages on Source Control systems. * ProgrammingTipsAndTricks --- a grabbag of general programming bits and pieces * [[Sysadmin]] --- System Administration Tips and Tricks * NetworkBenchmarking --- benchmarking networks = People = People associated with IA64 are invited to create a page in our Wiki, and link to it from the HomePages page. * [[GelatoUNSWPeople]] -- The Gelato@UNSW Team = About the Logo = The Gelato Logo {{http://www.gelato.unsw.edu.au/images/penguin-logo.png}} was developed by and is copyright to [[http://www.esiee.fr/~carryc|Cyrille Carry]]. It and variants of it are used here under the terms of the GPL.