Ads are not an endorsement by the blog author.

aimInfo

Public Journal
 Back to Journal Archives | Subscribe to Alerts Alerts Subscribe to Alerts | Feeds
< Apple/Intel Pictu
Thursday, June 23, 2005
Follow up to the  >
Friday, June 24, 2005
June 2005
Thursday, June 23, 2005

AIM Triton Beta Memory

Ra - Fallen Angels


As promissed here is a post on AIM.  I wanted to spend a brief moment to discuss memory issues with the latest AIM Triton Beta client.  I believe there are two major points of contention that I have read on the web.

1) Why are there 3,4,5, or 6 AOL* processes running at one time when all I did was launch AIM?

2) Why is this thing so darn slow?

So lets take number 1, yes there are lots of processes, will this change maybe/maybe not.  Here is why...we have written a service architected client.  Each service runs a process, they just all have the same name (this hopefully gets fixed).  My argument is this, lets take this hypothetical:  If AIM 5.9 takes up 35 megs of ram in one process, then compare that to the 4 process of triton, that each use 8 megs of ram, then you as the user comes out ahead. 

This leads as a perfect transition into number 2.  So right now we can see that each process is not using 8 megs, it is in fact using more, so when you start adding it up Triton is slow.  Right now we are in a Beta period and these things will improve.

In contrast. the AIM 5.9 client code base is very mature, so when we did betas from that code base, the quality was much better since we have had 8+ years working with that code base.

Justin from the Boxely UI team actually posted a blog about this earlier today, you can read about it here.

I would love to hear what others think about this...I know machine performance is very important to people, as you can read down below regarding the Live Video post.

PS - For you sports fans out there, and I am definitely one of them, my prediction tonight is the Pistons will win game 7.


gregsblog at 5:53:00 PM EDT Blog about this entry
This entry has 6 comments: (Add your own)
  • #6 Comment from mrpeenut24 
    7/2/05 12:52 AM Permalink
    so is this what jdennis has been working on the past 18 months or so? is that y theres not been a recent release of deadaim?
  • #5 Comment from gregsblogEntry Author 
    6/24/05 3:03 PM Permalink
    Thanks Jimmy, I apprciate you jumping in here...now get back to work....;-)
  • #4 Comment from jdenn1s 
    6/24/05 2:59 PM Permalink
    "I still don't understand why there are so many processes running even if they are different services? I was under the assumption from reading the triton code that the services were going to be passed to the execution engine ee:\\ which would then spawn the required code to be carried out. Is this not the case? Instead we have the single process spawning more processes based on the whatever is required?"

    The EE does indeed spawn off processes if required for a service. Every service has a service manifest file that specifies it's context. If a context does not exist it gets it's own AOLServiceHost.exe. We seperate UI and major business logic into two seperate contexts. However, as the EE has evolved some services have not yet caught up. This means that they have the incorrect context specified and get an AOLServiceHost all to themselves. The aim right now is to only have two AOLServiceHosts.

    AOLHostManager is the controller of the EE; it is in charge of spawning off hosts and starting services.

    A service can also specify it's context as in-proc. This means multiple instances of the service can exist and are loaded into the process that requests them.

    "Perhaps it is because I am not directly familiar with the architecture however this seems like it could spawn a resource eating nightmare.  If the single process doesn't recognize the start of the other processes then this could cause it to place the request again, and again...and.."

    This is covered by the existance of the AOLHostManager.

    If you see multiple AOLHostManagers then one possibility is that something didn't shut down right and managed to start another instance of the EE. Another possibility is that another AOL EE based application has been installed in a seperate directory and these by design run independantly so that no interference can occur.
  • #3 Comment from bangbang023 
    6/24/05 12:22 PM Permalink
    The problem is, as of now, those processes don't shutdown when the AOL software is closed. Whether it be Triton or Explorer, those processes are always present in memory. I'd rather give up another megabyte of RAM and know that when I close AIM, AIM is fully closed and not still half running on my system. I have no intent on being rude or anything, but it's simply a really bad idea to have processes for software running when the software itself isnt running.
  • #2 Comment from shawnfst 
    6/24/05 12:14 PM Permalink
    I still don't understand why there are so many processes running even if they are different services? I was under the assumption from reading the triton code that the services were going to be passed to the execution engine ee:\\ which would then spawn the required code to be carried out. Is this not the case? Instead we have the single process spawning more processes based on the whatever is required?

    Perhaps it is because I am not directly familiar with the architecture however this seems like it could spawn a resource eating nightmare.  If the single process doesn't recognize the start of the other processes then this could cause it to place the request again, and again...and..

    If this is to relieve a single process taking 54MB's and instead split each process amonst the 6 or so then on 64Bit processsors this should drop down considerably correct? Maybe you could explain more about the processes and why so many are started. I don't see where anyone could justify 6 processes or so without the other beta components each sharing them without an increase in resource usage. Just my opinion
Show all comments (1 more)