From faber@ISI.EDU Wed Jan 22 23:08:01 2003 From: faber@ISI.EDU (Ted Faber) Date: Wed, 22 Jan 2003 15:08:01 -0800 Subject: [Csci555-chat] test message Message-ID: <20030122230800.GV33196@pun.isi.edu> --yPlaimQd/TpiYx8R Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This is a test message. --yPlaimQd/TpiYx8R Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+LyRQaUz3f+Zf+XsRAn00AKCiYZqtqCfEgig7+njzF0aSACo2AwCePZS+ Ll5LxecNp0fSLB27qruvr9w= =jOH+ -----END PGP SIGNATURE----- --yPlaimQd/TpiYx8R-- From faber@ISI.EDU Sat Jan 25 01:09:08 2003 From: faber@ISI.EDU (Ted Faber) Date: Fri, 24 Jan 2003 17:09:08 -0800 Subject: [Csci555-chat] HW 1 up on the web page Message-ID: <20030125010908.GG51406@pun.isi.edu> --PyMzGVE0NRonI6bs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Homework number one, due Friday (31 Jan) is up on the web page. http://www.isi.edu/~faber/cs555/ -- ---------------------------------------------------------------------- Ted Faber faber@isi.edu USC/ISI Computer Scientist http://www.isi.edu/~faber (310) 448-9190 PGP Keys: http://www.isi.edu/~faber/pubkeys.asc --PyMzGVE0NRonI6bs Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+MeO0aUz3f+Zf+XsRAvf2AKCNWKo8bKkrZsYa5LUos2Vasu3cigCg6dwK egqkPtceq4HxQUtMPTj8Vxw= =j9Tq -----END PGP SIGNATURE----- --PyMzGVE0NRonI6bs-- From bindlish@usc.edu Sun Jan 26 02:19:16 2003 From: bindlish@usc.edu (aarti bindlish) Date: Sat, 25 Jan 2003 18:19:16 -0800 Subject: [Csci555-chat] wanna make a study group!!! Message-ID: <1312f8133276.1332761312f8@usc.edu> Hello, I need a discussion partner to discuss the research papers and other stuff in course. Anyone who has read the papers and is willing to discuss, please mail me. Thanks Aarti Bindlish From sanjayga@usc.edu Mon Jan 27 02:05:15 2003 From: sanjayga@usc.edu (sanjay garg) Date: Sun, 26 Jan 2003 18:05:15 -0800 Subject: [Csci555-chat] discussion group Message-ID: <1e44520402.204021e445@usc.edu> hi, even i m looking for a discussion group.doubts & papers r piling up so lets make it fast. sanjay From njayaram@usc.edu Mon Jan 27 02:37:48 2003 From: njayaram@usc.edu (narayana jayaram) Date: Sun, 26 Jan 2003 18:37:48 -0800 Subject: [Csci555-chat] discussion group Message-ID: <2f73a2eaf4.2eaf42f73a@usc.edu> hi sanjay count me in. can u come a bit early on tuesday.. cuz i have a class after OS555 and cant meet u after that. btw, does anyone have a sample midterm paper.. just wanto know what kind of ques we can expect on teh exam. Murthy ----- Original Message ----- From: sanjay garg Date: Sunday, January 26, 2003 6:05 pm Subject: [Csci555-chat] discussion group > hi, > even i m looking for a discussion group.doubts & papers r piling > up so lets make it fast. > sanjay > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > From sutharat@usc.edu Mon Jan 27 10:11:44 2003 From: sutharat@usc.edu (yossapon sutharattana) Date: Mon, 27 Jan 2003 02:11:44 -0800 Subject: [Csci555-chat] Read "duality" paper before "Mesa" papers Message-ID: <1323c3131c45.131c451323c3@usc.edu> It quite worked for me. "Mesa" paper refer to the "Duality" paper. From tokuz@usc.edu Tue Jan 28 06:46:41 2003 From: tokuz@usc.edu (akif tokuz) Date: Mon, 27 Jan 2003 22:46:41 -0800 Subject: [Csci555-chat] message/procedural - microkernel/monolithic ?? Message-ID: <57651c577e86.577e8657651c@usc.edu> While I was digging the net I got an intuition that we can extend the message-passing and shared memory comparison to monolithic vs. microkernel systems. What do you think? Can this be or am I totaly lost on a wrong track? If we can,here comes the one of the main source of my confusions. In one of Stanford's doc[1] I found; OpenBSD, Linux, original Unix referred as monolithic systems and Mach, QNX, Chorus, L4 referred as microkernel systems(which I have no idea about except QNX-once I had tried their 1 floppy OS and that doesn't bring up much to me). So can we say that monolithic systems use shared memory, and microkernel systems(MPPs)use message passing? Can we make this generalization?? If we can here comes the confusion(at least for me:) In one of the UCSD's doc[2] it says:Unix is a message-based system where there is usually no memory sharing and processes communicate by using pipes. ??So who is wrong? or am I missing some point? And in which category is UNIX in? none? both? Thanks. Akif, [1] http://www.stanford.edu/~aburn/stuff/temp/quiz2_notes.txt [2] http://www.cs.ucsd.edu/classes/sp00/cse221/evals/duality-upcalls/0019.html {this link probably will not work directly. You will get a 403 Forbidden message.Try writing it into google and click on view as html! Caching always works;) } From tokuz@usc.edu Tue Jan 28 17:18:12 2003 From: tokuz@usc.edu (akif tokuz) Date: Tue, 28 Jan 2003 09:18:12 -0800 Subject: [Csci555-chat] message/procedural - microkernel/monolithic ?? Message-ID: <66731e66919e.66919e66731e@usc.edu> Sorry I realized that I gave the 2nd link wrong. This is the correct one. Don't forget to use google trick. www.cs.ucsd.edu/classes/fa02/cse221/ notes/duality-class.doc Akif, ----- Original Message ----- From: akif tokuz Date: Monday, January 27, 2003 10:46 pm Subject: [Csci555-chat] message/procedural - microkernel/monolithic ?? > While I was digging the net I got an intuition that we can extend > the message-passing and shared memory comparison to monolithic vs. > microkernel systems. What do you think? Can this be or am I totaly > lost on a wrong track? > > If we can,here comes the one of the main source of my confusions. > > In one of Stanford's doc[1] I found; OpenBSD, Linux, original Unix > referred as monolithic systems and Mach, QNX, Chorus, L4 referred > as microkernel systems(which I have no idea about except QNX-once > I had tried their 1 floppy OS and that doesn't bring up much to me). > > So can we say that monolithic systems use shared memory, and > microkernel systems(MPPs)use message passing? Can we make this > generalization?? > If we can here comes the confusion(at least for me:) > In one of the UCSD's doc[2] it says:Unix is a message-based system > where there is usually no memory sharing and processes communicate > by using pipes. > > ??So who is wrong? or am I missing some point? And in which > category is UNIX in? none? both? > > Thanks. > > Akif, > > > [1] http://www.stanford.edu/~aburn/stuff/temp/quiz2_notes.txt > [2] http://www.cs.ucsd.edu/classes/sp00/cse221/evals/duality- > upcalls/0019.html{this link probably will not work directly. You > will get a 403 Forbidden message.Try writing it into google and > click on view as html! Caching always works;) } > > > > > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > From faber@ISI.EDU Tue Jan 28 21:37:26 2003 From: faber@ISI.EDU (Ted Faber) Date: Tue, 28 Jan 2003 13:37:26 -0800 Subject: [Csci555-chat] message/procedural - microkernel/monolithic ?? In-Reply-To: <57651c577e86.577e8657651c@usc.edu> References: <57651c577e86.577e8657651c@usc.edu> Message-ID: <20030128213726.GC14301@pun.isi.edu> --NU0Ex4SbNnrxsi6C Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Jan 27, 2003 at 10:46:41PM -0800, akif tokuz wrote: > So can we say that monolithic systems use shared memory, and > microkernel systems(MPPs)use message passing? Can we make this > generalization?? I'm not going to jump directly into this, because I'm interested to see the discussion, but I suggest that you take a quick look at the Amoeba paper from the reading list ( http://www.isi.edu/~faber/cs555/papers/Tanenbaum90.pdf ). --NU0Ex4SbNnrxsi6C Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+NvgWaUz3f+Zf+XsRAjIwAKDWZWLPmEX/CSnYU/KWMN79OwvLAACfRyM9 k6xXINPLcTb9vcnQS/E6ziw= =uSt9 -----END PGP SIGNATURE----- --NU0Ex4SbNnrxsi6C-- From faber@ISI.EDU Tue Jan 28 23:30:21 2003 From: faber@ISI.EDU (Ted Faber) Date: Tue, 28 Jan 2003 15:30:21 -0800 Subject: [Csci555-chat] Mars rover links on the web page Message-ID: <20030128233020.GO14301@pun.isi.edu> --qd/SZIFVu+MYwfCR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Links to the discussion of the priority inversion on the Mars Pathfinder mission have been added to http://www.isi.edu/~faber/cs555 . Make sure you reload the page if you've cached it. The discussion is reprinted from COMP.RISKS, and pointers to that forum are included. --qd/SZIFVu+MYwfCR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+NxKMaUz3f+Zf+XsRAmTtAKDYtF4QPYPM0kJcB+q4ntgcQHk6rgCg0xAu zKKO9hyKeWL0/vPlOIXplG8= =0CoZ -----END PGP SIGNATURE----- --qd/SZIFVu+MYwfCR-- From faber@ISI.EDU Tue Jan 28 23:41:07 2003 From: faber@ISI.EDU (Ted Faber) Date: Tue, 28 Jan 2003 15:41:07 -0800 Subject: [Csci555-chat] requests on e-mail questions. Message-ID: <20030128234107.GP14301@pun.isi.edu> --JKGvNdIvrY8Ovf7Z Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I've been getting some questions in e-mail, which I'm very happy to see. I'm delighted when students are interested enough to want to know more. Please keep them coming. I'm also happy to see some discussions starting up on this list, which I'm also delighted about. I've tried not jumped into those discussions because I don't want to disturb the flow of those discussions or stifle ideas being bounced around. Some of the questions I've gotten in private e-mail may have been of general interest to the class in general (or at least to readers of this list), but I didn't feel right about sending the answer to this list without permission. After all, part of the reason I got the question in e-mail may have been the inquirer's desire to ask privately. Still, I'd like to see both questions of broad interest and student discussions happen on this list. Here's what I suggest: If you'd like to ask a question for me to answer, and don't mind doing it publically, please ask it on the list so that I know that I can respond on the list. Include some unambiguous phrase in the subject line or message body that indicates that you want my answer (FOR FABER: or something like it). I'll continue trying to stay out of any discussions not so labelled. Of course, if you'd prefer to ask a question in private e-mail, that's still fine. Even on private questions, consider mailing them to csci555@usc.edu, which goes to both me and Ho Chung. You're likely to get a quicker answer that way. Thanks! --JKGvNdIvrY8Ovf7Z Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+NxUTaUz3f+Zf+XsRAkedAKD7mKh1EW//e1sn7sa29eK958aWFgCdGWk1 HmJ3ckNP68Tws5/l8Za4x2E= =w0E3 -----END PGP SIGNATURE----- --JKGvNdIvrY8Ovf7Z-- From faber@ISI.EDU Tue Jan 28 23:43:26 2003 From: faber@ISI.EDU (Ted Faber) Date: Tue, 28 Jan 2003 15:43:26 -0800 Subject: [Csci555-chat] More web page changes Message-ID: <20030128234326.GQ14301@pun.isi.edu> --xe2geHXJg22At20M Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The room numbers for office hours for both me and Ho Chung are now correct on the web page and the syllablus, a link has been added to Ho Chung's csci555 page, and the first question of HW 1 has been modified to make it a little clearer. The substance of the homework is unchanged. Consider checking all those out. --xe2geHXJg22At20M Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+NxWeaUz3f+Zf+XsRAvHjAJ9XgAbWXmrPv77ifImdabQXHodcCwCeKQzW g7Co6AJ4jjWajpO3cEvT22E= =IMQs -----END PGP SIGNATURE----- --xe2geHXJg22At20M-- From akulkarn@usc.edu Wed Jan 29 05:16:42 2003 From: akulkarn@usc.edu (anupam kulkarni) Date: Tue, 28 Jan 2003 21:16:42 -0800 Subject: [Csci555-chat] hw discussion Message-ID: <308d5343cf.343cf308d5@usc.edu> hi i'd like to discuss the HW solutions. intereseted people pz let me know . Anupam From akulkarn@usc.edu Wed Jan 29 22:44:23 2003 From: akulkarn@usc.edu (anupam kulkarni) Date: Wed, 29 Jan 2003 14:44:23 -0800 Subject: [Csci555-chat] discussion Message-ID: <2f74082f5f22.2f5f222f7408@usc.edu> hey guy mark and i are going to meet infront of Leavey at 6:00 today evening to discuss the HW is anyone else interested? Anupam From faber@ISI.EDU Fri Jan 31 02:49:19 2003 From: faber@ISI.EDU (Ted Faber) Date: Thu, 30 Jan 2003 18:49:19 -0800 Subject: [Csci555-chat] HW 2 posted Message-ID: <20030131024919.GL95851@pun.isi.edu> --iK/wEI4vkfDmI6Zw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Homework 2 is posted. It's only 3 questions, and should probably go a little faster than the first one. You may want to look at the postscript or PDF versions if you have any trouble reading the code. Comments welcome. --iK/wEI4vkfDmI6Zw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+OeQvaUz3f+Zf+XsRArCdAJ9BdqDPtuNcI50TOgB2huNeJITuzQCeOwn4 nzvx6rFPPLY84rz+vb4JRDo= =1plE -----END PGP SIGNATURE----- --iK/wEI4vkfDmI6Zw-- From njayaram@usc.edu Fri Jan 31 05:49:27 2003 From: njayaram@usc.edu (narayana jayaram) Date: Thu, 30 Jan 2003 21:49:27 -0800 Subject: [Csci555-chat] HW 1 submission method Message-ID: <4e0bcc4e08c4.4e08c44e0bcc@usc.edu> Hi all, I copy pasted the hw from a notepad onto the USC email and sent it as "text" as opposed to the HTML option. is this enough? or was there something else i had to check?( unmarkedup ascii etc). im asking cuz the list of dont's is intimidating. thanks Murthy From tokuz@usc.edu Fri Jan 31 08:28:30 2003 From: tokuz@usc.edu (akif tokuz) Date: Fri, 31 Jan 2003 00:28:30 -0800 Subject: [Csci555-chat] microkernel vs. monolithic debate Message-ID: <53ef0554050a.54050a53ef05@usc.edu> I think i am totaly confused while I am trying to map procedural/message-passing approaches with microkernel/monolithic. Actually I dont have any background info about this subject, and here is what I got after jumping from site to site and paper to paper in this week. *First of all this is a very very old war. Probably beginned with the famaous Linus Torvalds and Andrew Tanenbaum newsgroup debate which begins with Tanenbaum's "Linux is obsolete" message. If you haven't read this yet just check it out from: http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html It is quite fun ;) *Linux is a monolithic OS. It means everything goes into one big kernel. But it gives better performance than microkernels because microkernels have the disadvantage of message-passing overhead. So far so good. But when will Linux kernel stop growing. The first offical release of Linux (version 1.0 March 1994) has only 165.000 lines of code, at January 2000 it was over 2 million! Just check out this paper http://plg.uwaterloo.ca/~migod/papers/icsm00.pdf They have nice graphs showing Linux's "super-linear" growth. There is a solution out there for this which is used right now:Modules! You can load and unload a device driver even without restarting(remember windows;) the system. For example in my computer i need to load my ethernet card driver module with insmod to connect to internet and loading and unloading a module is so easy. *For the other side. I really don't know anything about those microkernels. I have used all kinds of Windows(3.1,95/98,ME,XP,NT,2000) and I really don't know what are they or which category are they in. But while I was digging the web I always ran into the Mach as an example of real microkernel OS. It is told that it was a good effort but this doesn't save Mach being a failure. So what is a microkernel OS? ( As what I understood) You throw out everything unnecessary from the kernel and you try to minimize the kernel as small as possible.[there is an another system called as Exokernel which tries the make even smaller kernels than micro.] so all of the services run as user programs and communicate with messages thorough the kernel. As far as what I understood one of their disadvantages comes from here because context switching from user-mode to kernel-mode is expensive. Microkernel is the new trend(as Tanenbaum said:) and it is still growing. Some people think that microkernels did not give good performance till now because of bad designs. Who knows? There are(what I know) Mac OS X, L4 and MkLinux right now as the brand new microkernel OSes. I really don't know what is NT or Win2000. What I got, debates will always go on on the academic side but general acceptance of use will determine the winner. For now, my bet goes to Linux. ...and for the procedural/message-passing mapping. I decided to not try to do anything like that because I got confused more. Perhaps there is no relation like that. And also it is very hard to put UNIX under one category. And which UNIX? There are big differences betweeen UNIXs and Linux. I hope professor gives his opinion about this. Thanx for listening:) Akif, From srikanth.nangunoori@intel.com Fri Jan 31 17:17:26 2003 From: srikanth.nangunoori@intel.com (Nangunoori, Srikanth) Date: Fri, 31 Jan 2003 09:17:26 -0800 Subject: [Csci555-chat] microkernel vs. monolithic debate Message-ID: >From my experience with Win2K, I think it is also an monolithic with the support of loading/unloading modules similiar to that of Linux. Please someone correct me if I'm wrong. Srikanth -----Original Message----- From: akif tokuz [mailto:tokuz@usc.edu] Sent: Friday, January 31, 2003 12:29 AM To: csci555-chat@ISI.EDU Subject: [Csci555-chat] microkernel vs. monolithic debate I think i am totaly confused while I am trying to map procedural/message-passing approaches with microkernel/monolithic. Actually I dont have any background info about this subject, and here is what I got after jumping from site to site and paper to paper in this week. *First of all this is a very very old war. Probably beginned with the famaous Linus Torvalds and Andrew Tanenbaum newsgroup debate which begins with Tanenbaum's "Linux is obsolete" message. If you haven't read this yet just check it out from: http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html It is quite fun ;) *Linux is a monolithic OS. It means everything goes into one big kernel. But it gives better performance than microkernels because microkernels have the disadvantage of message-passing overhead. So far so good. But when will Linux kernel stop growing. The first offical release of Linux (version 1.0 March 1994) has only 165.000 lines of code, at January 2000 it was over 2 million! Just check out this paper http://plg.uwaterloo.ca/~migod/papers/icsm00.pdf They have nice graphs showing Linux's "super-linear" growth. There is a solution out there for this which is used right now:Modules! You can load and unload a device driver even without restarting(remember windows;) the system. For example in my computer i need to load my ethernet card driver module with insmod to connect to internet and loading and unloading a module is so easy. *For the other side. I really don't know anything about those microkernels. I have used all kinds of Windows(3.1,95/98,ME,XP,NT,2000) and I really don't know what are they or which category are they in. But while I was digging the web I always ran into the Mach as an example of real microkernel OS. It is told that it was a good effort but this doesn't save Mach being a failure. So what is a microkernel OS? ( As what I understood) You throw out everything unnecessary from the kernel and you try to minimize the kernel as small as possible.[there is an another system called as Exokernel which tries the make even smaller kernels than micro.] so all of the services run as user programs and communicate with messages thorough the kernel. As far as what I understood one of their disadvantages comes from here because context switching from user-mode to kernel-mode is expensive. Microkernel is the new trend(as Tanenbaum said:) and it is still growing. Some people think that microkernels did not give good performance till now because of bad designs. Who knows? There are(what I know) Mac OS X, L4 and MkLinux right now as the brand new microkernel OSes. I really don't know what is NT or Win2000. What I got, debates will always go on on the academic side but general acceptance of use will determine the winner. For now, my bet goes to Linux. ...and for the procedural/message-passing mapping. I decided to not try to do anything like that because I got confused more. Perhaps there is no relation like that. And also it is very hard to put UNIX under one category. And which UNIX? There are big differences betweeen UNIXs and Linux. I hope professor gives his opinion about this. Thanx for listening:) Akif, _______________________________________________ Csci555-chat mailing list Csci555-chat@mailman.isi.edu http://mailman.isi.edu/mailman/listinfo/csci555-chat From dshell@robotics.usc.edu Wed Feb 5 05:11:06 2003 From: dshell@robotics.usc.edu (Dylan Shell) Date: 04 Feb 2003 21:11:06 -0800 Subject: [Csci555-chat] Accent to Mach In-Reply-To: <200302041925.h14JP2D00157@gamma.isi.edu> References: <200302041925.h14JP2D00157@gamma.isi.edu> Message-ID: <1044421866.1279.41.camel@phlogiston.usc.edu> For more information on the Accent to Mach transformation (mentioned today in class), you may wish to refer to the following URL: http://hurd.gnufans.org/bin/view/Mach/MachHistory (Although it is brief, as the focus is from a GNU-Mach perspective). Additionally, given the recent posts regarding micro vs monolithic kernel, you might appreciate this (now very famous) piece of OS history: http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html If you've not read it before, its an amusing read. From faber@ISI.EDU Wed Feb 5 19:29:53 2003 From: faber@ISI.EDU (Ted Faber) Date: Wed, 5 Feb 2003 11:29:53 -0800 Subject: [Csci555-chat] A deadlock avoider thread example Message-ID: <20030205192953.GD9243@pun.isi.edu> --jCrbxBqMcLqd4mOl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Here's a simple example of a deadlock avoider from the ASP EE, a multi-threaded active networking execution environment (a simple router OS) written in Java. The example is a little simplified, but the deadlock avoidance should be clear. The ASP EE provides a system where applications can register code to run at a later time - you can think of it like the DelayedFork example in the thread paper, or like a callback queue. The straightforward implementation is as follows. The queue is simply an array of records holding a function pointer and a timeout value. Applications can call an insert or delete routine that adds or removes the function it passes as a parameter from the array. (This is Java, so it's actually objects that export a given interface that can be added or deleted, but you can think of them as function pointers for this example.) Another sleeper thread runs every second or so, moving down the queue and decrementing the timeout values. If a timeout hits zero, the function is called and the record removed from the array. Because this is a multithreaded environment, the accesses to the array have to be synchronized. The add routine, the delete routine, and the scanning by the sleeper all acquire a lock before performing their operations. Now consider a function that wants to add a new entry to the callback queue when it is executed. The sleeper wakes up, acquires the lock to the array, scans the array and calls the function while holding the lock on the array. The function calls the queue add, which blocks trying to acquire the array lock (the sleeper already holds it and it's the sleeper making the function call). The thread is waiting for itself to release the lock it holds, which will clearly never happen. There are a couple places to add the deadlock avoider to avoid this. First, the sleeper can always fork a new thread to run the functions. Note that although this new function-calling thread must still acquire the lock, the sleeper thread can still make progress and will release the lock before it goes back to sleep - no deadlock. If the sleeper wants to avoid forking new threads for each function call (they may be expensive) the function itself can spin off a new thread. Either of these choices fork the thread to avoid the deadlock. Of the two, the first is probably better, even with costly thread startup costs. Calling the arbitrary functions can delay the sleeper, even if it doesn't deadlock and throw off the timing for the rest of the applications. As a third option, the sleeper could also collect the information to make all the function calls as it scans the array, remove the entries from the array, release the lock and make the calls, but this also has the problem of potentially delaying the sleeper, and adds complexity to the scan code. (Of course, the sleeper could collect the calling information and make all the fork calls after releasing the lock, but again, this seems to add extra code for no clear advantage). Hopefully that makes it clear that deadlock avoiders exist in practice. --jCrbxBqMcLqd4mOl Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+QWYxaUz3f+Zf+XsRAm8UAJ0VHlA0G4PqO5MTGc1X7ZywlKfeAwCdF7mD da4wBehpRfNnE5eNTLMSnvw= =W/ZL -----END PGP SIGNATURE----- --jCrbxBqMcLqd4mOl-- From faber@ISI.EDU Thu Feb 6 22:12:54 2003 From: faber@ISI.EDU (Ted Faber) Date: Thu, 6 Feb 2003 14:12:54 -0800 Subject: [Csci555-chat] Key for HW 1 posted Message-ID: <20030206221254.GB17578@pun.isi.edu> --K8nIJk4ghYZn606h Content-Type: text/plain; charset=us-ascii Content-Disposition: inline A key has been posted for homework 1 on the main web page http://www.isi.edu/~faber/cs555 Sorry it's late. --K8nIJk4ghYZn606h Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+Qt3maUz3f+Zf+XsRAlcFAJ9+gh7GMyd2yNkQq4XSyvLOzne3dwCdGLtF GPd48T8VZQEovuK0psCW5i0= =D22j -----END PGP SIGNATURE----- --K8nIJk4ghYZn606h-- From faber@ISI.EDU Thu Feb 6 22:29:05 2003 From: faber@ISI.EDU (Ted Faber) Date: Thu, 6 Feb 2003 14:29:05 -0800 Subject: [Csci555-chat] One of those days: CORRECTION on Munin Message-ID: <20030206222905.GC17578@pun.isi.edu> --CblX+4bnyfN0pR09 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Every semester there's one of those days in which I mess up enough things that I wonder why I'm teaching. You all got to see that today. So, in addition to forgetting to post the key to homework 1, and assigning papers to read in a sub-opitmal order, I misreperesnted part of Munin today. Let me straighten this out: The protocol parameters in Section 2.3.1 (Write vs. Invalidate, Replicas, etc.) are the types of synchronization that Munin implements. These are the building blocks from which Munin generates full synchronization and replication code. Mixing and matching these allow different variables to follow different synchronization protocols. The annotations in Section 2.3.2 are the words that can appear in Munin code. Each represents a set of parameter settings chosen along the axes of Section 2.3.1. Looking at Table 1, the Write-Shared annotation chooses to have write broadcast semantics of variables that may have delayed operations, replication (read caching), and dynamic ownership. Multiple unsynchronized writers are permitted, and the sharing properties are not guaranteed to be stable, so when the program changes phase, a different set of choices may apply. The only combinations of the parameters in Section 3.2.1 that Munin supported at the time of the publication were those corresponding to one of the annotations in Section 3.2.2. They mention that there are other combinations that may make sense, but that they were not implemented. I made it sound like both sets of words (those in 3.2.1 and 3.2.2) were annotations that could appear in code, whereas the truth is that only the words in Section 3.2.2 are used. Let me know if this is still unclear. And feel free to call me on things like that in class. Thanks for your understanding, and sorry for the confusion. --CblX+4bnyfN0pR09 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+QuGxaUz3f+Zf+XsRAmc9AKCWejaqgByNphEKnQynbvwXqmi60gCgnu1t zdPgSPEHzEIekC1crQmj1EY= =sb+8 -----END PGP SIGNATURE----- --CblX+4bnyfN0pR09-- From faber@ISI.EDU Fri Feb 7 18:09:35 2003 From: faber@ISI.EDU (Ted Faber) Date: Fri, 7 Feb 2003 10:09:35 -0800 Subject: [Csci555-chat] Homework 3 is posted Message-ID: <20030207180935.GE20930@pun.isi.edu> --zjcmjzIkjQU2rmur Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Homework 3 is posted. It's only 2 questions, but the first one is fairly involved. It's also kind of fun for people who like synchronization problems. --zjcmjzIkjQU2rmur Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+Q/ZfaUz3f+Zf+XsRAm60AKCNg5bkySbSG8yhkGq/2EhcZU0XKACg48j4 +8bSmWCw9zi5D/XRi7Ypfog= =1DMV -----END PGP SIGNATURE----- --zjcmjzIkjQU2rmur-- From srikanth@vedha.com Sun Feb 9 06:28:10 2003 From: srikanth@vedha.com (Srikanth Nangunoori) Date: Sat, 8 Feb 2003 22:28:10 -0800 Subject: [Csci555-chat] Complicated calls in RPC Message-ID: Hi all, This is regarding the RPC complicated calls example (fig 4). In the results packet (packet = 2) the callee says "dontAck" and still waits for the ack. I'm wondering is it just a typo or is there a specific reason in doing so? Please comment. Regards, Srikanth From pol@usc.edu Sun Feb 9 18:29:20 2003 From: pol@usc.edu (parikshit pol) Date: Sun, 09 Feb 2003 10:29:20 -0800 Subject: [Csci555-chat] new threads for handling RPC calls Message-ID: <3047343040c0.3040c0304734@usc.edu> Hi , In question 3 of HW2 I have written that there exists a pool of processes on the server which is assigneed for handling all the incoming RPC calls. Now I was wondering if we could use threads for the same. Now the processes which are unable to acquire the monitor lock will go into a wait state. The same will hold true for the new threads. Why did the guys in the paper go for new processes instead of threads which are more light weight! Or am I missing something here? -Parikshit Action without Vision is time pass, Vision without action is a dream, it is only when Vision is backed by Action that it creates significance. From fabbas@usc.edu Sun Feb 9 23:38:13 2003 From: fabbas@usc.edu (fawad abbas) Date: Sun, 09 Feb 2003 15:38:13 -0800 Subject: [Csci555-chat] Complicated calls in RPC Message-ID: <39461c38e9b6.38e9b639461c@usc.edu> For a request/response spanning upon multiple packets, we don't ask for the explicit acknowledgement in the last packet because in this case the next call will automatically acknowledge the previous received packet. Had the process made another call(received at calle within its retransmission timeout period) the last packet would have been acked automatically. Unfortunately this was not the case here. So that is why the callee is asking for specific acknowledgement after the timeout period. Does this help in NFS implementation? I doubt. The last packet returned from the callee will always have this timeout problem with the callee storing the last packet till timeout. I would have liked an automatic ack for the last packet from the caller side as well :). Any comments??? regards, Fawad ----- Original Message ----- From: Srikanth Nangunoori Date: Saturday, February 8, 2003 10:28 pm Subject: [Csci555-chat] Complicated calls in RPC > Hi all, > > This is regarding the RPC complicated calls example (fig 4). > In the results packet (packet = 2) the callee says "dontAck" and > still waits > for the ack. I'm wondering is it just a typo or is there a > specific reason > in doing so? Please comment. > > Regards, > Srikanth > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > From srikanth@vedha.com Mon Feb 10 02:58:32 2003 From: srikanth@vedha.com (Srikanth Nangunoori) Date: Sun, 9 Feb 2003 18:58:32 -0800 Subject: [Csci555-chat] Complicated calls in RPC In-Reply-To: <39461c38e9b6.38e9b639461c@usc.edu> Message-ID: Actually the example in question did not have multiple results packets. It just has single packet and thats the reason it says "dontAck" in the packet but still waits for the ack. Srikanth -----Original Message----- From: csci555-chat-admin@mailman.isi.edu [mailto:csci555-chat-admin@mailman.isi.edu]On Behalf Of fawad abbas Sent: Sunday, February 09, 2003 3:38 PM To: csci555-chat@mailman.isi.edu Subject: Re: [Csci555-chat] Complicated calls in RPC For a request/response spanning upon multiple packets, we don't ask for the explicit acknowledgement in the last packet because in this case the next call will automatically acknowledge the previous received packet. Had the process made another call(received at calle within its retransmission timeout period) the last packet would have been acked automatically. Unfortunately this was not the case here. So that is why the callee is asking for specific acknowledgement after the timeout period. Does this help in NFS implementation? I doubt. The last packet returned from the callee will always have this timeout problem with the callee storing the last packet till timeout. I would have liked an automatic ack for the last packet from the caller side as well :). Any comments??? regards, Fawad ----- Original Message ----- From: Srikanth Nangunoori Date: Saturday, February 8, 2003 10:28 pm Subject: [Csci555-chat] Complicated calls in RPC > Hi all, > > This is regarding the RPC complicated calls example (fig 4). > In the results packet (packet = 2) the callee says "dontAck" and > still waits > for the ack. I'm wondering is it just a typo or is there a > specific reason > in doing so? Please comment. > > Regards, > Srikanth > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > _______________________________________________ Csci555-chat mailing list Csci555-chat@mailman.isi.edu http://mailman.isi.edu/mailman/listinfo/csci555-chat From fabbas@usc.edu Mon Feb 10 03:20:26 2003 From: fabbas@usc.edu (fawad abbas) Date: Sun, 09 Feb 2003 19:20:26 -0800 Subject: [Csci555-chat] Complicated calls in RPC Message-ID: <412f92412e20.412e20412f92@usc.edu> I am sorry about missing that. But I guess that rest of the logic still applies. Fawad ----- Original Message ----- From: Srikanth Nangunoori Date: Sunday, February 9, 2003 6:58 pm Subject: RE: [Csci555-chat] Complicated calls in RPC > Actually the example in question did not have multiple results > packets. It > just has single packet and thats the reason it says "dontAck" in > the packet > but still waits for the ack. > > Srikanth > > -----Original Message----- > From: csci555-chat-admin@mailman.isi.edu > [csci555-chat-admin@mailman.isi.edu]On Behalf Of fawad abbas > Sent: Sunday, February 09, 2003 3:38 PM > To: csci555-chat@mailman.isi.edu > Subject: Re: [Csci555-chat] Complicated calls in RPC > > > > For a request/response spanning upon multiple packets, we don't > ask for the > explicit > acknowledgement in the last packet because in this case the next > call will > automatically acknowledge the previous received packet. > > Had the process made another call(received at calle within its > retransmission timeout period) > the last packet would have been acked automatically. Unfortunately > this was > not the case here. > So that is why the callee is asking for specific acknowledgement > after the > timeout > period. > > Does this help in NFS implementation? I doubt. > The last packet returned from the callee will always have this timeout > problem with > the callee storing the last packet till timeout. I would have > liked an > automatic > ack for the last packet from the caller side as well :). > > Any comments??? > > regards, > Fawad > > ----- Original Message ----- > From: Srikanth Nangunoori > Date: Saturday, February 8, 2003 10:28 pm > Subject: [Csci555-chat] Complicated calls in RPC > > > Hi all, > > > > This is regarding the RPC complicated calls example (fig 4). > > In the results packet (packet = 2) the callee says "dontAck" and > > still waits > > for the ack. I'm wondering is it just a typo or is there a > > specific reason > > in doing so? Please comment. > > > > Regards, > > Srikanth > > > > _______________________________________________ > > Csci555-chat mailing list > > Csci555-chat@mailman.isi.edu > > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > > > > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > _______________________________________________ > Csci555-chat mailing list > Csci555-chat@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci555-chat > > From faber@ISI.EDU Mon Feb 10 16:59:48 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Feb 2003 08:59:48 -0800 Subject: [Csci555-chat] Complicated calls in RPC In-Reply-To: References: Message-ID: <20030210165948.GD68786@pun.isi.edu> --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Feb 08, 2003 at 10:28:10PM -0800, Srikanth Nangunoori wrote: > Hi all, > > This is regarding the RPC complicated calls example (fig 4). > In the results packet (packet = 2) the callee says "dontAck" and still waits > for the ack. I'm wondering is it just a typo or is there a specific reason > in doing so? Please comment. Do you want *me* to comment, or is this an open question? --eqp4TxRxnD4KrmFZ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+R9qEaUz3f+Zf+XsRAqJLAKDeNVXg1X5k/93Bibn10odtaZJqvACfZE71 sqWhs0+ciOdXnQEVX9hKBJw= =maeS -----END PGP SIGNATURE----- --eqp4TxRxnD4KrmFZ-- From faber@ISI.EDU Mon Feb 10 17:01:38 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Feb 2003 09:01:38 -0800 Subject: [Csci555-chat] Complicated calls in RPC In-Reply-To: <20030210165948.GD68786@pun.isi.edu> References: <20030210165948.GD68786@pun.isi.edu> Message-ID: <20030210170138.GE68786@pun.isi.edu> --N1GIdlSm9i+YlY4t Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Feb 10, 2003 at 08:59:48AM -0800, Ted Faber wrote: > On Sat, Feb 08, 2003 at 10:28:10PM -0800, Srikanth Nangunoori wrote: > > Hi all, > > > > This is regarding the RPC complicated calls example (fig 4). > > In the results packet (packet = 2) the callee says "dontAck" and still waits > > for the ack. I'm wondering is it just a typo or is there a specific reason > > in doing so? Please comment. > > Do you want *me* to comment, or is this an open question? Duh. I should read *all* my mail before responding. The other people on the list have already answered your question as far as I can tell. --N1GIdlSm9i+YlY4t Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+R9ryaUz3f+Zf+XsRAlPJAJ9rNev4vSkqpZktsjK5e9UYQG3+xwCg8dnJ KwGrO7GQzBLcEDv3S8qmn7g= =flqG -----END PGP SIGNATURE----- --N1GIdlSm9i+YlY4t-- From faber@ISI.EDU Mon Feb 10 17:05:52 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Feb 2003 09:05:52 -0800 Subject: [Csci555-chat] Homework 2 key posted Message-ID: <20030210170552.GG68786@pun.isi.edu> --SUk9VBj82R8Xhb8H Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The key to HW2 is on the web page. On time for a change. :-) --SUk9VBj82R8Xhb8H Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+R9vwaUz3f+Zf+XsRArc0AKD/eMDWSG1yEDK9Y/i3IcXX0qtQBQCghNQv QJ/tC3vDSbOXUXmHPhJYlL4= =WXCI -----END PGP SIGNATURE----- --SUk9VBj82R8Xhb8H-- From srikanth.nangunoori@intel.com Mon Feb 10 17:12:42 2003 From: srikanth.nangunoori@intel.com (Nangunoori, Srikanth) Date: Mon, 10 Feb 2003 09:12:42 -0800 Subject: [Csci555-chat] Complicated calls in RPC Message-ID: It is a open question. There were already couple of comments. Please can you comment as well? Srikanth -----Original Message----- From: Ted Faber [mailto:faber@ISI.EDU] Sent: Monday, February 10, 2003 9:00 AM To: Srikanth Nangunoori Cc: csci555-chat@ISI.EDU Subject: Re: [Csci555-chat] Complicated calls in RPC On Sat, Feb 08, 2003 at 10:28:10PM -0800, Srikanth Nangunoori wrote: > Hi all, > > This is regarding the RPC complicated calls example (fig 4). > In the results packet (packet = 2) the callee says "dontAck" and still waits > for the ack. I'm wondering is it just a typo or is there a specific reason > in doing so? Please comment. Do you want *me* to comment, or is this an open question? From faber@ISI.EDU Mon Feb 10 22:49:26 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Feb 2003 14:49:26 -0800 Subject: [Csci555-chat] Complicated calls in RPC In-Reply-To: References: <39461c38e9b6.38e9b639461c@usc.edu> Message-ID: <20030210224926.GA71306@pun.isi.edu> --k1lZvvs/B4yU6o8G Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Feb 09, 2003 at 06:58:32PM -0800, Srikanth Nangunoori wrote: > Actually the example in question did not have multiple results packets. It > just has single packet and thats the reason it says "dontAck" in the packet > but still waits for the ack. Fawad (I hope that's a first name, and I apologize if not) has it correct. The data that makes up the result of the call is contained in one packet. It's sent with the dontack flag because the server is optimizing for the common case when another request from the client will arrive shortly. That request will act as an acknowledgement of the result packet, the same way that a result acts as an ack of a call packet. Only one request from server to client can be outstanding, even if the client runs several processes and the server exports several services - there isn't buffering for more. Because the server did not get another call, it requested specific acknowledgement of teh result by sending it again. --k1lZvvs/B4yU6o8G Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+SCx2aUz3f+Zf+XsRAkYTAKCMEldtLtuc9g2kiinnFsW5rtnbEQCgnBQg NUlCbcQIEK1jcInQKmk56IA= =D7h7 -----END PGP SIGNATURE----- --k1lZvvs/B4yU6o8G-- From ssb@usc.edu Wed Feb 19 01:51:35 2003 From: ssb@usc.edu (SungShik Baik) Date: Tue, 18 Feb 2003 17:51:35 -0800 Subject: [Csci555-chat] will you upload previous midterm exam papers for sample? Message-ID: I hope it will help to prepare midterm with right directions and undertand question style.. thanks.. From mqin@usc.edu Fri Feb 21 20:14:00 2003 From: mqin@usc.edu (Min Qin) Date: Fri, 21 Feb 2003 12:14:00 -0800 Subject: [Csci555-chat] homework3 solution problem Message-ID: <004801c2d9e5$c5bb7490$30880980@falchion> This is a multi-part message in MIME format. ------=_NextPart_000_0045_01C2D9A2.B7645350 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable i have a question concerning the solution posted by professor faber: in the solution, it mentioned that"a non-blocking input command needs to = be implemented as well" if ( read("A", "B", args) succeeds ) { in("A", "B", args); out("A-completed"); return completed and args; } else return no_message; is this solution really non-blocking? The paper mentioned that if using = in operation, process will block until the tuple become available, and = the only difference between read and in is that no tuple will be deleted = from tuple space. So that means Read operation will also cause the = process to block if the tuple is not in the tuple space.=20 So the "if ( read("A", "B", args) succeeds )" will actually be blocked = if there is no such tuple, even if some other guarcds has successfully = executed it's command.=20 do I misunderstand the read operation? Min ------=_NextPart_000_0045_01C2D9A2.B7645350 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
i have a question concerning the solution = posted by=20 professor faber:
 
in the solution, it mentioned that"a = non-blocking input=20 command needs to be implemented as well"
if ( read("A", "B", args) succeeds )=20 {
          in("A", "B", = args);
         =20 out("A-completed");
        &n= bsp;=20 return completed and args;
    =20 }
     else return no_message;
is this solution really = non-blocking? The=20 paper mentioned that if using in operation, process will block = until the=20 tuple become available, and the only difference between read and in is = that no=20 tuple will be deleted from tuple space. So that means Read operation = will also=20 cause the process to block if the tuple is not in the tuple space.=20
So the "if = ( read("A",=20 "B", args) succeeds )"  will actually be blocked if there is no = such tuple,=20 even if some other guarcds has successfully executed it's command.=20
 
do I misunderstand the read=20 operation?
 
 
Min
------=_NextPart_000_0045_01C2D9A2.B7645350-- From fabbas@usc.edu Sat Feb 22 03:06:00 2003 From: fabbas@usc.edu (fawad abbas) Date: 21 Feb 2003 19:06:00 -0800 Subject: [Csci555-chat] homework3 solution problem In-Reply-To: <004801c2d9e5$c5bb7490$30880980@falchion> References: <004801c2d9e5$c5bb7490$30880980@falchion> Message-ID: <1045883161.1978.21.camel@x1-6-00-08-74-e0-ff-4d> On Fri, 2003-02-21 at 12:14, Min Qin wrote: > i have a question concerning the solution posted by professor faber: > > in the solution, it mentioned that"a non-blocking input command needs to be implemented as well" > if ( read("A", "B", args) succeeds ) { > in("A", "B", args); > out("A-completed"); > return completed and args; > } > else return no_message; > > is this solution really non-blocking? The paper mentioned that if using in operation, process will block until the tuple become available, and the only difference between read and in is that no tuple will be deleted from tuple space. So that means Read operation will also cause the process to block if the tuple is not in the tuple space. > So the "if ( read("A", "B", args) succeeds )" will actually be blocked if there is no such tuple, even if some other guarcds has successfully executed it's command. > > do I misunderstand the read operation? > > > Min This is a good point Min. I would say that we are checking in if condition if the call to read is returning or not because if it is not, it means that no corresponding tuple is present in the tuple space and hence we return the no_message status. One other thing is that I came across a concept of non-blocking read in linda. Does anyone would like to comment on it as well??? Fawad From mqin@usc.edu Sat Feb 22 04:38:31 2003 From: mqin@usc.edu (Min Qin) Date: Fri, 21 Feb 2003 20:38:31 -0800 Subject: [Csci555-chat] homework3 solution problem References: <004801c2d9e5$c5bb7490$30880980@falchion> <1045883161.1978.21.camel@x1-6-00-08-74-e0-ff-4d> Message-ID: <002e01c2da2c$81f74f80$cee37d80@falchion> hi,fawad and and all, I don't think the explanation is correct. The main reason is that in CSP paper, it mentioned clearly that "when input commands appear as a guards, the command which corresponds to the earliest ready and maching output command should in general be prefered" (Page 4,ch. 2.4) So this statement means that if A?B and C?D appear as guards, then we should block the guarded command until one of them become ready. if A?B become ready earlier than C?D, then execute the command that corresponds to A?B. I think the word "earliest ready" is very important in understanding the problem. If the input guards simply returns when the writer/reader is not ready, then there is no need for the author to mention "earliest ready". And what will our solution code do? if ( read("A", "B", args) succeeds ) { in("A", "B", args); out("A-completed"); return completed and args; } else return no_message; suppose A?B and C?D are the guards, at first the read command in the if statement will block because A and C both are not ready. after a while A and C both become ready at the same time, how can this solution guarantee that only one command is going to be executed? ----- Original Message ----- From: "fawad abbas" To: "Min Qin" Cc: Sent: Friday, February 21, 2003 7:06 PM Subject: Re: [Csci555-chat] homework3 solution problem > On Fri, 2003-02-21 at 12:14, Min Qin wrote: > > i have a question concerning the solution posted by professor faber: > > > > in the solution, it mentioned that"a non-blocking input command needs to be implemented as well" > > if ( read("A", "B", args) succeeds ) { > > in("A", "B", args); > > out("A-completed"); > > return completed and args; > > } > > else return no_message; > > > > is this solution really non-blocking? The paper mentioned that if using in operation, process will block until the tuple become available, and the only difference between read and in is that no tuple will be deleted from tuple space. So that means Read operation will also cause the process to block if the tuple is not in the tuple space. > > So the "if ( read("A", "B", args) succeeds )" will actually be blocked if there is no such tuple, even if some other guarcds has successfully executed it's command. > > > > do I misunderstand the read operation? > > > > > > Min > > This is a good point Min. > > I would say that we are checking in if condition if the call to read is > returning or not because if it is not, it means that no corresponding > tuple is present in the tuple space and hence we return the > no_message status. > > One other thing is that I came across a concept of non-blocking read in > linda. Does anyone would like to comment on it as well??? > > Fawad > > > From faber@ISI.EDU Mon Feb 24 23:52:00 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 24 Feb 2003 15:52:00 -0800 Subject: [Csci555-chat] homework3 solution problem In-Reply-To: <004801c2d9e5$c5bb7490$30880980@falchion> References: <004801c2d9e5$c5bb7490$30880980@falchion> Message-ID: <20030224235200.GK46855@pun.isi.edu> --kswDJesP0akhmDn8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Feb 21, 2003 at 12:14:00PM -0800, Min Qin wrote: > do I misunderstand the read operation? *You* don't misunderstand the read operation, I did. I think there's a non-blocking variant somewhere in the world, but there's no reason you folks should have known about it, and no reason I should have assumed it was out there. You're completely correct about how read() works and my solution is incorrect for the non-blocking case. Ho Chung, please give people 4 out of 5 if they got the blocking system correct and give them 5 of 5 if they mentioned that a non-blocking read would be required. Sorry for the significant confusion. --kswDJesP0akhmDn8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+WrAgaUz3f+Zf+XsRAmIZAKCQQC/uUucN1QTFqwfNKvppSHQgXQCgoyzA 7A0ePF7302aPBPJu7bd+Feo= =ZPSM -----END PGP SIGNATURE----- --kswDJesP0akhmDn8-- From fabbas@usc.edu Tue Feb 25 21:50:22 2003 From: fabbas@usc.edu (fawad abbas) Date: 25 Feb 2003 13:50:22 -0800 Subject: [Csci555-chat] Regarding Linda read() statement Message-ID: <1046209822.1163.6.camel@x1-6-00-08-74-e0-ff-4d> Just a comment on the Linda read( ) statement. Min has rightly pointed out the problem in the HW solution with the blocking read statement. However non-blocking versions of both read and in statements have also been developed. (though not covered in the linda paper we covered in the class). So this offers much more flexibilitly with the way we want to implement different problems using linda. Fawad From pol@usc.edu Wed Feb 26 00:09:36 2003 From: pol@usc.edu (parikshit pol) Date: Tue, 25 Feb 2003 16:09:36 -0800 Subject: [Csci555-chat] due date for term paper? Message-ID: Hi , What is the due date for the term paper topic/abstract? Thanks, Parikshit Action without Vision is time pass, Vision without action is a dream, it is only when Vision is backed by Action that it creates significance. From faber@ISI.EDU Wed Feb 26 00:26:27 2003 From: faber@ISI.EDU (Ted Faber) Date: Tue, 25 Feb 2003 16:26:27 -0800 Subject: [Csci555-chat] due date for term paper? In-Reply-To: References: Message-ID: <20030226002627.GB53120@pun.isi.edu> --cvVnyQ+4j833TQvp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 25, 2003 at 04:09:36PM -0800, parikshit pol wrote: > Hi , > What is the due date for the term paper topic/abstract? http://www.isi.edu/~faber/cs555/papers.html --cvVnyQ+4j833TQvp Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+XAmzaUz3f+Zf+XsRAi1DAJ0Wyx41SgNjhM7Zwty0wjEDFTFnVACggFOX VHDAK2/bXacZsxsYnFFGem8= =Og49 -----END PGP SIGNATURE----- --cvVnyQ+4j833TQvp-- From ssb@usc.edu Wed Mar 5 05:04:42 2003 From: ssb@usc.edu (SungShik Baik) Date: Tue, 04 Mar 2003 21:04:42 -0800 Subject: [Csci555-chat] kernel crossing? Message-ID: hello, can you explain "kernel crossing" in Emerald paper? thanks.. From faber@ISI.EDU Wed Mar 5 16:07:35 2003 From: faber@ISI.EDU (Ted Faber) Date: Wed, 5 Mar 2003 08:07:35 -0800 Subject: [Csci555-chat] kernel crossing? In-Reply-To: References: Message-ID: <20030305160735.GB47166@pun.isi.edu> --5I6of5zJg18YgZEa Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 04, 2003 at 09:04:42PM -0800, SungShik Baik wrote: > hello, > > can you explain "kernel crossing" in Emerald paper? This is the process of making a system call. The processor changes to supervisor mode and arguments are copied form user memory to kernel memory. It's a concept you should be familiar with from basic operating systems, and any good text will describe it under "kernel crossing" or "system call". --5I6of5zJg18YgZEa Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+ZiDHaUz3f+Zf+XsRAlh2AJ0Tyy+rzMCijQf7qbF5lWdbCGzLRwCghtCe aG8f5xqPGH+Bn1Ex2jb7uVg= =3+Kk -----END PGP SIGNATURE----- --5I6of5zJg18YgZEa-- From dshell@robotics.usc.edu Thu Mar 6 20:21:41 2003 From: dshell@robotics.usc.edu (Dylan Shell) Date: 06 Mar 2003 12:21:41 -0800 Subject: [Csci555-chat] LOCUS Paper In-Reply-To: <004801c2d9e5$c5bb7490$30880980@falchion> References: <004801c2d9e5$c5bb7490$30880980@falchion> Message-ID: <1046982101.2123.7.camel@phlogiston.usc.edu> Has anyone tried/succeeded in the printing the LOCUS paper? I tried to print it on an über HP printer yesterday, and it claimed to have run out of memory. Frankly I suspect that its lying. (It managed to print that smear diagram in the NT 4.0 File System usage paper.) If you've had any luck pls, send some tidbits my way. Dylan From ssb@usc.edu Sat Mar 8 23:58:17 2003 From: ssb@usc.edu (SungShik Baik) Date: Sat, 08 Mar 2003 15:58:17 -0800 Subject: [Csci555-chat] delayed transaction work? Message-ID: in "Hints for System design"paper for professor to explain "keep a place to stand". gave Backward Compatibility example.. and "Delayed transaction work" is said.. but I can't understand this term well. can you explain this term again? thanks.. From njayaram@usc.edu Sun Mar 9 07:03:45 2003 From: njayaram@usc.edu (narayana jayaram) Date: Sat, 08 Mar 2003 23:03:45 -0800 Subject: [Csci555-chat] midterm exam room? Message-ID: <2b51d42b5113.2b51132b51d4@usc.edu> Hello, Is the midterm going to be in the classroom? because it said "TBA" on the webpage. -N.Murthy From faber@ISI.EDU Mon Mar 10 23:53:11 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Mar 2003 15:53:11 -0800 Subject: [Csci555-chat] midterm exam room? In-Reply-To: <2b51d42b5113.2b51132b51d4@usc.edu> References: <2b51d42b5113.2b51132b51d4@usc.edu> Message-ID: <20030310235310.GD74184@pun.isi.edu> --tRjCiSMHexiP9I5N Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Mar 08, 2003 at 11:03:45PM -0800, narayana jayaram wrote: > Hello, > > Is the midterm going to be in the classroom? because it said "TBA" on > the webpage. It will be held in teh same room as class; I'll put the information up. --tRjCiSMHexiP9I5N Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+bSVmaUz3f+Zf+XsRAhrGAKDrNIVvc/QRL32/TiZrKZnq8yzt+ACgn6jA cPNap2M+8en4KxgBJNlQJGk= =UTdY -----END PGP SIGNATURE----- --tRjCiSMHexiP9I5N-- From faber@ISI.EDU Tue Mar 11 00:09:01 2003 From: faber@ISI.EDU (Ted Faber) Date: Mon, 10 Mar 2003 16:09:01 -0800 Subject: [Csci555-chat] delayed transaction work? In-Reply-To: References: Message-ID: <20030311000901.GG74184@pun.isi.edu> --5uhzMJlTksuFv+PE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Mar 08, 2003 at 03:58:17PM -0800, SungShik Baik wrote: > in "Hints for System design"paper > > for professor to explain "keep a place to stand". gave Backward > Compatibility example.. > > and "Delayed transaction work" is said.. but I can't understand this term > well. I don't see that term used in the last 2 paragraphs on page 9, which looks like the "keep a place to stand" discussion to me. --5uhzMJlTksuFv+PE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+bSkdaUz3f+Zf+XsRAsKgAKC8yO2477u/BBcU/c61eE3rTUK3HQCg0ram 6a/6pNtuajFPfJdUNBSNqMM= =o0OZ -----END PGP SIGNATURE----- --5uhzMJlTksuFv+PE-- From faber@ISI.EDU Wed Mar 12 17:07:10 2003 From: faber@ISI.EDU (Ted Faber) Date: Wed, 12 Mar 2003 09:07:10 -0800 Subject: [Csci555-chat] Calculators and the midterm Message-ID: <20030312170710.GC85691@pun.isi.edu> --hYooF8G/hrfVAmum Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I realized today that some people were taking my mentions of calculators much more seriously than I intended. When I was an engineering undergraduate student, I took my calculator to every exam, including English or Philosophy exams. This is because I spent many hours with my calculator and it made me feel safe. I decided then that I would always allow people to bring them to exams, should I ever give exams. That being said, there is no objective reason to bring a calculator to the exam, any you shouldn't be rushing around trying to borrow one, or to figure out why I might have mentioned it. I can't easily imagine how one might use a calculator on the exam. Beyond counting, I don't believe that any arithmatic at all is required on the midterm. Sorry for any confusion that this may have generated. --hYooF8G/hrfVAmum Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+b2k+aUz3f+Zf+XsRAhL1AKDkxfBQv0dUBd7MvPfIgkIrvxa07wCfatpc je0cfJxE2kOLF3572UmcB6o= =DM8F -----END PGP SIGNATURE----- --hYooF8G/hrfVAmum--