Course Announcements:
December 11, 2002
First, I just sent to all of you (individually) our feedback
on your
projects -- if you have any questions, please feel free to ask us. We may
help you to figure out how to write things up. Second, for your project
reports, please use an ACM SIG Proceedings Template located at
http://www.acm.org/sigs/pubs/proceed/template.html#aL1.
I have also posted my copy of the template with a convenient makefile here.
You can compile Latex documents on Athena. Here's a good online reference
on
Latex:
http://web.mit.edu/olh/Latex/ess-toc.html
It will make your report look tidy and clean. Third, please don't forget
to
send us pointers to your code -- we may run to see that it actually works.
Please let us also know if there are any specific environment variable or
command-line arguments that you use.
Finally, if you would like your reports and talk slides to be posted on the
class website for future generations taking this class, please let us
know -- we really appreciate it! We will not post them without your written
permission.
November 25, 2002
A routing table that you can use in your IP Lookup
projects in Bluespec is posted here. You can
find the most recent version at the website of Route Views.
November 20, 2002
Ok, the Bluespec compiler is installed on Athena. If one
logs into a Linux computer on Athena and types "add 6.827" then the command
"bsc" will be available in the path and "man bsc" will also produce a short
man page. One can also type "bsc --help" to get a list of commandline
parameters.
All the files, including libraries and documentation, can be conveniently
found in one place:
/mit/6.827/bsc/
November 18, 2002
This is a reminder that there will be a lecture in 6.827
tomorrow (Tuesday)
at 9:30AM in the playroom on the second floor of NE43 (LCS). Another
extra lecture will be on Thursday at the same time and place.
November 14, 2002
Bluespec
Tutorial is posted online.
November 14, 2002
Please note that all Athena dialup machines (x.dialup.mit.edu
and athena.dialup.mit.edu) are Suns, so you can
only work with the old pH compiler if you SSH to them.
It's been pointed out to me that most of you haven't seen any documentation
describing the differences between the current pH compilers and the syntax
described in the book!
For the current Linux compiler, there are extensive language notes
in /docs/language:
/mit/6.827/phc-new/phc/docs/language
The most relevant information there are the notes on the PHArray
library, and in particular the indexing operations on IArrays and MArrays.
Barrier syntax works as in the book. Note that update operations
return a result after the update occurs, so that it's possible to sequence
IArray and MArray operations using barriers if you're careful. Indeed,
it should be technically possible to do 2(c) with no barriers at all,
while preserving parallelism, if you use //=^ carefully.
In general, I recommend that code which ONLY performs side effects
should return the side-effected object when those effects are complete.
This often allows you to write slightly nicer code than if you return
a junk value such as ().
If you're using the older Solaris compiler, read the above document
anyway; the libraries are largely identical. Barrier syntax, however,
is older and cruftier. Note the use of the "seq" and "par"
keywords and nested indentation in the following code:
let seq par x = a!^1 -- These two bindings
happen in parallel
y = a!^2
-- Then a
barrier conceptually occurs here
_ = a//^=
[(1, x+y), (2, x-y)]
-- Then another
barrier occurs here
result = a
in result
Under the Linux compiler, this would look as follows:
let ( x = a!^1
y = a!^2
>>>
a //^= [(1, x+y), (2, x-y)]
>>>
result = a )
in result
Or more compactly, if you use the result of //^=:
let ( x = a!^1
y = a!^2
>>>
result = a //^= [(1, x+y), (2, x-y)]
)
in result
-Jan
November 13, 2002
Professor Arvind approved of all of the proposals that you have submitted,
so you can get started. I will schedule individual meetings with each
of the groups two weeks from now to discuss the progress made so far.
*** Presentations ***
We have also decided to schedule project presentations for 9AM
till 11AM on Wednesday, December 11th (since we have many groups, we
need this extra half-an-hour before the official start of the class).
Each of the presentations should be not more than 20 minutes long, and
we encourage that both team members (in case of a team project) give a
talk. We reserve the right to ask questions to both team partners as well.
*** Write-ups ***
Project write-ups will be due on Friday, December 13th, at 5PM.
*** No extensions will be granted.*** Therefore, ideally, you will have
your write-ups ready by the time you will have to give presentations.
Please let us know if you would rather make presentations in the
afternoon on the same day -- this is also fine with us. Also, please
check if you have any conflicts with your finals.
Good luck on the project!
September 24, 2002
Attention! If you are taking the class, but not receiving
emails that we send to the class mailing list, ask Todd Amicon to add you to the list!
|