You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Aleksey Shipilev (JIRA)" <ji...@apache.org> on 2008/07/17 18:21:31 UTC

[jira] Created: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

[classlib][pack200] Isolating I/O and processing stages 
--------------------------------------------------------

                 Key: HARMONY-5916
                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
             Project: Harmony
          Issue Type: Improvement
          Components: Classlib
         Environment: Latest pack200
            Reporter: Aleksey Shipilev


So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Sian January (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sian January reassigned HARMONY-5916:
-------------------------------------

    Assignee: Sian January

> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: pack200-isolate-v2.patch, pack200-isolate-v3.patch, pack200-isolate-v4.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev closed HARMONY-5916.
-------------------------------------


Verified, thanks.

> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>             Fix For: 5.0M7
>
>         Attachments: pack200-isolate-v2.patch, pack200-isolate-v3.patch, pack200-isolate-v4.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev updated HARMONY-5916:
--------------------------------------

    Attachment: pack200-isolate-v2.patch

pack200-isolate-v2.patch
Proposed patch:
 - breaks up unpack into unpackRead, unpackProcess, unpackWrite
 - concentrates as much as possible non-I/O-work in unpackProcess

This patch passes JUnit tests for pack200.

Stage measurements (msecs):
read=6737 parse=26724 write=2537

> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>         Attachments: pack200-isolate-v2.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Sian January (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sian January resolved HARMONY-5916.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0M7

Patch applied at r678796.  Please check that it was applied as expected.

> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>             Fix For: 5.0M7
>
>         Attachments: pack200-isolate-v2.patch, pack200-isolate-v3.patch, pack200-isolate-v4.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev updated HARMONY-5916:
--------------------------------------

    Attachment: pack200-isolate-v3.patch

pack200-isolate-v3.patch
V2 + pre-reading of the entire segment if possible

Successfully passes JUnit tests for pack200.

Stage measurements (msecs):
read=265 process=32358 write=2673

> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>         Attachments: pack200-isolate-v2.patch, pack200-isolate-v3.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5916) [classlib][pack200] Isolating I/O and processing stages

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev updated HARMONY-5916:
--------------------------------------

    Attachment: pack200-isolate-v4.patch

pack200-isolate-v4.patch
 - updated for current state of trunk.
 - segment preread is switched off by default



> [classlib][pack200] Isolating I/O and processing stages 
> --------------------------------------------------------
>
>                 Key: HARMONY-5916
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5916
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>         Attachments: pack200-isolate-v2.patch, pack200-isolate-v3.patch, pack200-isolate-v4.patch
>
>
> So far the unpacking in pack200 implementation is strongly coupled with I/O. Because I/O is essentially serial, there's no opportunity for paralleling the unpacking. This issue breaks the unpacking into three parts: reading, processing and writing. The target is to concentrate as much as possible work into the processing stage, decoupling it from I/O. Then the processing stage could be done concurrently on multiple Segments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.