University of California at Berkeley Department of Electrical Engineering & Computer Sciences Instructional Support Group /share/b/pub/scm.help /share/b/pub/scheme.help /share/b/pub/gambit.help Oct 17 2009 CONTENTS: Berkeley Scheme (STk) Parallelism in Berkeley Scheme (MapReduce) Troubleshooting Chez Scheme, Gambit Berkeley Scheme (STk) --------------------- "Berkeley Scheme" (aka "UCB Scheme") is a version of Scheme that is written in STk and has home-grown extensions for CS Lower Division classes. It is based on STk 4.0.1 (http://kaolin.unice.fr/STk/). Scheme is available on Instructional SUN SPARC and X86 computers in ~scheme/bin/stk There are several versions of Berkeley Scheme for EECS classes. Each version loads a different set of Berkeley-specific functions to support the specific text book used by the class. For details, please see https://inst.eecs.berkeley.edu/~scheme/docs/?file=README-explorin-vs-simply.txt Scheme can be downloaded and installed on Windows, Linux and Macs from http://inst.eecs.berkeley.edu/~scheme/ Under Windows, it includes a subset of Cygwin, which enables Scheme to be loaded into an emacs buffer as on UNIX. Parallelism in Berkeley Scheme (MapReduce) ------------------------------------------ CS61A teaching staff have developed a module for UCB Scheme that runs MapReduce functions within UCB Scheme. The UCB MapReduce functions rely on a customized version of Hadoop (version 0.16.3) that runs on our Icluster. For the authors' technical report, please see "Infusing Parallelism into Introductory Computer Science Curriculum using MapReduce" (http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-34.html). For general information about MapReduce and the Icluster, please see http://inst.eecs.berkeley.edu/cgi-bin/pub.cgi?file=icluster.help. CS61A instructor: To start Hadoop for the UCB Scheme/MapReduce functions, you can login to icluster1.eecs.berkeley.edu as 'cs61a' and run (in the default bash shell): INSTALLED_HADOOP=/home/ff/cs61a/projects/hadoop/ export HADOOP_INSTALL=${INSTALLED_HADOOP}/hadoop export HADOOP_CONF_DIR=${INSTALLED_HADOOP}/conf export HADOOP_LOG_DIR=${INSTALLED_HADOOP}/logs PATH=${HADOOP_INSTALL}/bin:$PATH ${HADOOP_INSTALL}/bin/start-all.sh That starts Hadoop datanode and tasktracker processes on the computers that are listed in ${INSTALLED_HADOOP}/conf/slaves. It also starts the WEB page: http://icluster.eecs.berkeley.edu:30075/browseDirectory.jsp?namenodeInfoPort=33508&dir=/ The Hadoop processes can be stopped by 'cs61a' with the command ${HADOOP_INSTALL}/bin/stop-all.sh Students: To use the UCB Scheme/MapReduce functions, login to icluster1.eecs.berkeley.edu and run 'stk-simply' or ~cs61a/projects/hadoop/stk/build/bin/stk-simply . Here is an example with output of a test command: icluster1 [2] ~ # stk-simply Welcome to the STk interpreter version 4.0.1-ucb1.3.5 [Linux-2.6.24-7-amd64-perfctr-2.6.34-2-x86_64] Copyright (c) 1993-1999 Erick Gallesio - I3S - CNRS / ESSI Modifications by UCB EECS Instructional Support Group Questions, comments, or bug reports to . STk> (reduce-map-letter + identity "/1-10") Mapreduce in progress! Your ID number is 1915622555. For progress info, see http://icluster1:35702/jobdetails.jsp?jobid=job_200908031017_0006 Working................ 46 STk> (quit) 'stk-simply' for Icluster runs a customized version of UCB Scheme from ${INSTALLED_HADOOP}/stk ${INSTALLED_HADOOP}/sisc and includes the MapReduce functions via nested loads from ${INSTALLED_HADOOP}/stk/build/lib/stk/site-scheme/*.scm ${INSTALLED_HADOOP}/stk/build/lib/stk/site-scheme/hadoop/*.scm Troubleshooting --------------- Note: CS61A uses the 'im-client' and 'im-server' programs. We determined that the im-server requires the TK module (for XWindows graphics). So it does not work if the stk is started with the '-no-tk' option. Note: If you are logged into an Instructional UNIX system from system that uses OpenSSH (typically MacOS or Linux), you may see this error when you run 'stk': X Error of failed request: BadAtom (invalid Atom parameter) To correct this, use the "-Y" option with ssh, for example: ssh -l cs3 solar.eecs.berkeley.edu -X -Y This is not an bug in stk; it is related to how openssh sends certain X calls over the encrypted channel. Chez Scheme, Gambit ------------------- Chez Scheme, from Cadence Research Systems, Bloomington IN, was used in some CS classes in the early 1990's but is no longer supported on the EECS Instructional computers. Gambit (http://www.iro.umontreal.ca/~gambit/) is a version of Scheme that was once provided for CS3 on pre-MacOSX Macs. Gambit was developed by Marc Feeley at Brandeis University and was free for academic research and education (a license was required for commercial use). Gambit is no longer supported on EECS Instructional computers. EECS Instructional Support Group 378,384,386 Cory, 333 Soda inst@eecs.berkeley.edu