I'm not sure why a lot of Alchemi was designed the way it was.  There's
plenty of architectural decisions I questioned when I started, and continue
to question.

If you followed what Matt and I tried to do, we were trying to take the best
ideas from Alchemi, and then rebuild from scratch supporting them, taking
what we liked and leaving the rest.

see: http://tools.assembla.com/alchemireloaded/wiki/OriginalAlchemiBreakdown
also: http://tools.assembla.com/alchemireloaded/wiki/BrainstormingArea

Probably the biggest complaint is that the resiliency simply isn't there.
 The second is related to dependency management, as you've seen.  We were
going to try experimenting with resource-based scheduling, where each
executor has capabilities and each GApplication has requirements, and match
executors based upon those needs.  In your case, certain Java dependencies.

I know the GridBus team at Melbourne was focused on that, but using one of
the open grid frameworks, not Alchemi.  http://www.cloudbus.org/intro.html

(I guess it's now CloudBus, and I guess they're still claiming Alchemi, even
though I don't think anyone there's touched it for 5+ years.)

Oftentimes I still feel in the same boat of "they did it this way for a
reason, right?"  Usually if I can't figure it out, I just do it my way, test
it, and occasionally realize that "ok, they had a point, if you don't do it
that way it doesn't work."

It's quite likely that at this point you have a better understanding of the
framework than I do.  And at the risk of offending someone, I think it's far
more complicated than it needs to be.

Anyway, glad to hear you've found a way to play with it without getting too
overwhelmed with newness.


<http://tools.assembla.com/alchemireloaded/wiki/OriginalAlchemiBreakdown>
Jonathan

On Mon, Mar 28, 2011 at 4:01 PM, Richard Foreman <[email protected]>wrote:

> Hello again Jonathan,
>
>   I understand your busy so dont worry to much about it.  I just figured Id
> throw it out there to see if you remembered enough about the inner workings
> that you might be able to whip out an answer (or tell me Im freaking stupid
> for not seeing the abvious lol).  Not to mention oe of the other people on
> the list has been talking to me a little about it.
>
>   As far as why I chose C++ as my second language, it was because of a
> particular project that Ive been working on in VB for a few years, my own
> bignumber class, and I figured c++ would be the best choice for it in order
> to get the speed I wanted out of it, well turned out to be quite a lot
> harder learning then I thought it would be, Ive literally spent hundreds of
> hours reading and wading through other folks code to figure out how to do
> things, now that I finally have a good enough grasp of it so that I can sit
> down and actually tackle most anything I want with it, and I am afraid Id
> loose it if I tackled another language full bore.  Until I started this, I
> had allways thought tht C# was pretty close to C++, now I see that they are
> completely different.  I have managed to get about 2/3 of the main classes
> in C++ in the last 3 days (thats about 100 classes it turns out) without
> hardly changing any of the functionality.  I had t make a couple of subtle
> changes in order to get it to work.
>
>   The good news is, I am finally getting a grasp on th layout of the
> framework so that I might actually be able to implement the changes I want
> to make.  Like I said, given enough time, I can figure anything out.
>
>  SIP? you working on that for voip or something?
>
>  ------------------------------
> *From:* Jonathan Mitchem <[email protected]>
> *To:* Richard Foreman <[email protected]>
> *Cc:* [email protected]
> *Sent:* Mon, March 28, 2011 12:36:43 PM
> *Subject:* Re: [Alchemi-users] A few more questions
>
> Gimme a day or three to respond.  I got this and started reading, but it
> deserves more than just a cursory read.
>
> Of course, my first question was "why C++".  I assumed it was because you'd
> been using C++ for a long time, but it seems that's not really the case.  I
> strongly suggest you become competent in C#.  C++ is good to know too, but
> if you're going to be in a managed environment, stick with C#.
>
> Beyond that, I need to actually read/digest the real content of the email.
>  I'm in the middle of work stuff and writing a SIP client at home, so I
> don't have the time to give it justice yet.
>
> On Sun, Mar 27, 2011 at 12:11 PM, Richard Foreman 
> <[email protected]>wrote:
>
>>    I told you I was going to bug you again.  Ive started porting the
>> whole framework over to managed C++,  I was having too many problems with it
>> in C#.  I actually got the Core ported over easily, and have started on the
>> Executor classes when I ran into a snag which I havent figured out how to
>> get around yet.  Evereything in the Core and the first set of Executor
>> classes (I allready ported over the Executor classes, and am currently
>> working on the ExecutorExec classes, leaving just the Executor service class
>> to do)  Allright, so everyting in the executorexec classes ported over just
>> fine with the exception of a few of the events.
>>
>>   Specifically, there are a few events defined in GExecutor(
>>
>> public
>> event GotDisconnectedEventHandler GotDisconnected; and
>>
>> public
>> event 
>> NonDedicatedExecutingStatusChangedEventHandlerNonDedicatedExecutingStatusChanged;)
>>  both of which are fired from within
>> GExecutor through delegates.  The ExecutorContainer class subscribes to
>> these events through the delegates, however, ExecutorContainer also defines
>> these events within itself through the same delegates as GExecutor.  The
>> handler for the GotDisconnected event is defined within ExecutorContainer to
>> handle th event fired from within GExecutor, but, all the handler does (I
>> beleive) is refire the event which is declared within itself.  Whoever wrote
>> the class wrote a comment about "bubble the event to whoever handles
>> this.".  The problem I am having is that the compiler will not let me
>> subscribe to these events no matter how I try to set them up(these are the
>> only two events I am having trouble with the rest of that set of classes
>> crossed over just fine). So, heres where I have a question or two.  Why
>> would they set up the container class to refire an event fired from within a
>> class that is instantiated within the container class?  The instances of
>> GExecutor are in an array marked public in the container class, so if
>> someone wanted to subscribe to the events they could easily do it directly
>> (I would think), and as I said, the event handler in the container class
>> does not do anything with the event.  Or am I completely missing something
>> here?
>>
>>
>>
>>   If it is something basic, dont get too mad.  I am a self taught
>> programmer and have only been working in C++ for about 6 months now.  I work
>> full time and am a single dad that just does this for fun, but given the
>> chance, I can prove I am not completely stupid (most of the time lol).
>>
>>
>>
>>   Now the other question I have is about the dependency manifests.  One of
>> the applications I put out on my network relies heavily on an implementation
>> of a BigNumber class I wrote myself.  Now my implementation uses the java
>> BigInteger class just as a container for the number and uses the java
>> implementation for just basic math(add, subtract, and multiply) all the
>> other functions I had to implement myself because java gets lost when the
>> numbers get over about 100 digits for some reason.  Anyways, I started out
>> just doing the basic dependency on my thread (derived from GThread), but the
>> BigNumber class did not carry out to the executors even though it was
>> referenced in the class, so then I actually copied the code for bignumber
>> straight into the same file as the thread class, but it still didnt get
>> pushed out to the executors (that statement may be incorrect though), so
>> then I actually added Bignumber as an additional dependency and finally got
>> an error saying that java did not cross over with the bignumber class, then
>> I tried adding vjslib (java) as another dependency but the executors just
>> continually failed thread after thread until I actually installed the java
>> redistributable on ALL of my computers.  I believe it was still failing
>> because java had a dependency of its own that I am not aware of.  I believe
>> I was coding the threads correctly, I havent had any problems with any of
>> the other applications Ive wrote on this framework.  I figured Id ask you
>> since you are the only one that knows anything about this framework (not to
>> mention you are the only one answering haha).
>>
>>
>>
>>   I know it is kind of hard to picture without seeing the code, and Id be
>> willing to send it to you if youd like.  Ill also send the C++ version to
>> you once Ive finished it and debugged it.  It was going smoothly till last
>> night, so if this is the only hiccup in it, I should have the core,executor,
>> and manager classes done by the end of this week, though the changes I am
>> working on making to it will not be that quick.  Ive also started
>> documenting the class heirarchy so if anyone else comes along and wants to
>> plug away at it that may help some.  The documentation within the framework
>> is actually superb, but, for those of us with limited ability, wading
>> through all of it to figure out how to do something is a chore in itself.
>>
>>
>>
>>   Anyhow, this email went on longer then I thought, Im just trying to
>> explain things as thorough as possible.  The more I get into this framework,
>> the more I cant believe that it is as dead as it is.  I do appreciate any
>> help you can give.
>>
>>
>>
>> Richard
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Enable your software for Intel(R) Active Management Technology to meet the
>> growing manageability and security demands of your customers. Businesses
>> are taking advantage of Intel(R) vPro (TM) technology - will your software
>> be a part of the solution? Download the Intel(R) Manageability Checker
>> today! http://p.sf.net/sfu/intel-dev2devmar
>> _______________________________________________
>> alchemi-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/alchemi-users
>>
>>
>
>
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and publish 
your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
alchemi-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alchemi-users

Reply via email to