PRT.MLJavaIntegrationStep1 History

Hide minor edits - Show changes to output - Cancel

August 20, 2013, at 08:08 AM by 192.16.201.181 -
Added line 17:
August 20, 2013, at 08:08 AM by 192.16.201.181 -
Added line 16:
[[PRT.MLLibrarifiedReoProject | Project that uses V2.0 in its librarified form]]
August 20, 2013, at 08:03 AM by 192.16.201.181 -
Changed line 6 from:
The code can be browsed on the repository:
to:
Code can be browsed on the repository:
Changed lines 10-13 from:
* a project repository that gathers all the others together: http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/VMS/VMS_Projects/VMS_Projects__MC_shared/SSR/SSR__Blocked_Matrix_Mult__MC_shared__Proj/file/9b6694afc1ac
*
The page that talks about this project: http://opensourceresearchinstitute.org/pmwiki.php/VMS/DevelopProjectSSRMatrixMult

A note here --
the above code is for the first version of proto-runtime, which is deprecated now, but still a good starting point to learn because it's simple. The version for this project is 2.0, which allows multiple languages to interact. The code for it is more complex, but the principles are the same, so it's safe to learn the V 1.0 code above -- the concepts will still apply.
to:
The above code is for the first version of proto-runtime, which is deprecated now, but still a good starting point to learn because it's simple and easiest to learn on.
The version for this project is 2
.0, which allows multiple languages to interact. The code for it is more complex, but the principles are the same, so it's safe to learn the V 1.0 code above -- the concepts will still apply.

However, version 1.0 can't be used with JNI, because JNI requires a shared library to connect to
. Instead, the librarified version V 2.0 is needed. This version is described on the following page:

[[PRT.MLVersionCodeWalkThrough | PR V2.0 code walk-through ]]

* a project repository that gathers all
the others together:
* The page that talks about this project:
August 02, 2013, at 01:32 AM by 82.139.115.35 -
Added lines 5-24:

The code can be browsed on the repository:
* the proto-runtime itself: http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/VMS/VMS_Implementations/VMS_impls/VMS__MC_shared_impl/file/b02b34681414
* a language on top of proto-runtime: http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/VMS/VMS_Implementations/SSR_impls/SSR__MC_shared_impl/file/ce07f1a42ddf
* an application that uses that language: http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/VMS/Applications/SSR/SSR__Blocked_Matrix_Mult__Bench/file/efc1ee85f1ee
* a project repository that gathers all the others together: http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/VMS/VMS_Projects/VMS_Projects__MC_shared/SSR/SSR__Blocked_Matrix_Mult__MC_shared__Proj/file/9b6694afc1ac
* The page that talks about this project: http://opensourceresearchinstitute.org/pmwiki.php/VMS/DevelopProjectSSRMatrixMult

A note here -- the above code is for the first version of proto-runtime, which is deprecated now, but still a good starting point to learn because it's simple. The version for this project is 2.0, which allows multiple languages to interact. The code for it is more complex, but the principles are the same, so it's safe to learn the V 1.0 code above -- the concepts will still apply.

A paper that will help understand the code is: http://opensourceresearchinstitute.org/content/VMS/June_2011__Thread_replacement__Photo_Ready__LNCS.pdf

Once the above project is cloned, built, and running, then turn on the DEBUG mode and put break points inside the assembly code that performs the switching -- then you can step through the execution to understand how suspend and resume work, and how the proto-runtime is invoked from application code.

That should keep you busy for a while.. try some experiments to test your understanding, like adding a new construct to the language..

When you feel comfortable, then switch over to version 2.0, by getting and building this project:
http://hg.opensourceresearchinstitute.org/cgi-bin/hgwebdir.cgi/PR/PR_Projects/PR__ML__MC_shared__Projects/VReo/VReo__Prod_Cons__ML_MC_shared__Proj/

It is a more advanced language implemented on top of V2.0 This is the working code base that will be used with the rest of the project.
August 01, 2013, at 10:35 PM by 82.139.115.35 -
Changed line 6 from:
http://opensourceresearchinstitute.org/pmwiki.php/PRT/MLJavaIntegration
to:
[[ PRT.MLJavaIntegration | Back to main Java Integration page ]]
August 01, 2013, at 10:34 PM by 82.139.115.35 -
Added lines 5-6:

http://opensourceresearchinstitute.org/pmwiki.php/PRT/MLJavaIntegration
August 01, 2013, at 10:34 PM by 82.139.115.35 -
Added lines 1-4:
=== Step 1


The first step will be to learn the proto-runtime, so that you understand the details of the code, especially the base concepts such as virtual-processor and task, and the way the proto-runtime primitives suspend those, and the way proto-runtime handles requests from them.