From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fed2e7871ca258cd X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-12-14 20:43:04 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!fr.usenet-edu.net!usenet-edu.net!enst!enst.fr!not-for-mail From: Eric Merritt Newsgroups: comp.lang.ada Subject: Re: Server - tasking and long lived connections Date: Fri, 14 Dec 2001 20:42:43 -0800 (PST) Organization: ENST, France Sender: comp.lang.ada-admin@ada.eu.org Message-ID: Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: avanie.enst.fr 1008391383 35340 137.194.161.2 (15 Dec 2001 04:43:03 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Sat, 15 Dec 2001 04:43:03 +0000 (UTC) To: comp.lang.ada@ada.eu.org Return-Path: In-Reply-To: <3C1ABF3F.8CDCC8F9@worldnet.att.net> Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.6 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: archiver1.google.com comp.lang.ada:17945 Date: 2001-12-14T20:42:43-08:00 Thanks Jim I guess I should have asked you first. > Which operating system are you targeting for this > application? To begin with the *nix machines, mainly linux and FreeBsd, but it could easily make its way to windows, solaris, hp-ux, etc depending on whether its opensourced in the end. That is one of the reasons my arguments for Ada won out. > WinNT easily handles about 2000 of tasks. I do not > know the > limits on open file descriptors. Linux threading is a bit less efficient from what I understand. I think it by default can handle about 512 tasks, depending on configuration. This can be changed with a custom kernel but even then it starts to get inefficient after a certain point. > The tasking approach is somewhat more efficient than > the traditional Unix approach of creating a separate process to > handle each > connection. The tasking approach will require the > same number > of file descriptors and data base connections. > Context switching will > be faster with tasks than with processes. Using processes never really crossed my mind, I tend not to really consider them becuase they have no real advantage over threads and alot of disadvantages. > Which other design approaches would you consider if > your operating > system resources are too limited? > Would you be able > to expand the > system by creating a set of application servers all > accessing > a central database through a network? That is the main option I have in mind at the moment or perhaps realtime datasync between databases on each boxe, I really hope it doesn't get to this point. > Would you need > a system that > performed automatic load balancing across a network? If I had to move to seperate servers this would really need to be considered carefully. > One advantage of the tasking approach is that you > will be able to > create the tasking code as a task type, then create > as many > instances of that task type as you need. From the > Ada point of > view this solution is highly scalable. > I like the tasking approach, it is conceptually very simple in this type of application, and from a development perspective is very maintainable. __________________________________________________ Do You Yahoo!? Check out Yahoo! Shopping and Yahoo! Auctions for all of your unique holiday gifts! Buy at http://shopping.yahoo.com or bid at http://auctions.yahoo.com