Is there a AWS service, to chunk and perform as concurrent, a bulk request to a Lambda?











up vote
1
down vote

favorite












This is the use case:
the client is requesting a lambda to compute a bulk payload.



The idea is to chunk this bulk payload and call multiple times the same lambda.



I've already done it on client side by chunking and recollecting answers, merging as if it was unique.



Now I'm wondering if I may leverage on some AWS service to perform this chunking, parallelisation to lambda and have it back as if a unique request.



On the other hand (if there's nothing out of the AWS box) I might think to develop a new lambda myself that will perform the above










share|improve this question
























  • Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
    – GhostCat
    Nov 8 at 9:59












  • I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
    – koalaok
    Nov 8 at 10:16










  • There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
    – GhostCat
    Nov 8 at 10:18

















up vote
1
down vote

favorite












This is the use case:
the client is requesting a lambda to compute a bulk payload.



The idea is to chunk this bulk payload and call multiple times the same lambda.



I've already done it on client side by chunking and recollecting answers, merging as if it was unique.



Now I'm wondering if I may leverage on some AWS service to perform this chunking, parallelisation to lambda and have it back as if a unique request.



On the other hand (if there's nothing out of the AWS box) I might think to develop a new lambda myself that will perform the above










share|improve this question
























  • Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
    – GhostCat
    Nov 8 at 9:59












  • I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
    – koalaok
    Nov 8 at 10:16










  • There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
    – GhostCat
    Nov 8 at 10:18















up vote
1
down vote

favorite









up vote
1
down vote

favorite











This is the use case:
the client is requesting a lambda to compute a bulk payload.



The idea is to chunk this bulk payload and call multiple times the same lambda.



I've already done it on client side by chunking and recollecting answers, merging as if it was unique.



Now I'm wondering if I may leverage on some AWS service to perform this chunking, parallelisation to lambda and have it back as if a unique request.



On the other hand (if there's nothing out of the AWS box) I might think to develop a new lambda myself that will perform the above










share|improve this question















This is the use case:
the client is requesting a lambda to compute a bulk payload.



The idea is to chunk this bulk payload and call multiple times the same lambda.



I've already done it on client side by chunking and recollecting answers, merging as if it was unique.



Now I'm wondering if I may leverage on some AWS service to perform this chunking, parallelisation to lambda and have it back as if a unique request.



On the other hand (if there's nothing out of the AWS box) I might think to develop a new lambda myself that will perform the above







amazon-web-services request aws-lambda






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 8 at 15:49









John Rotenstein

64k766110




64k766110










asked Nov 8 at 9:20









koalaok

1,08621334




1,08621334












  • Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
    – GhostCat
    Nov 8 at 9:59












  • I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
    – koalaok
    Nov 8 at 10:16










  • There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
    – GhostCat
    Nov 8 at 10:18




















  • Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
    – GhostCat
    Nov 8 at 9:59












  • I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
    – koalaok
    Nov 8 at 10:16










  • There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
    – GhostCat
    Nov 8 at 10:18


















Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
– GhostCat
Nov 8 at 9:59






Questions asking for off-site resources (such books/tutorials, tools/libraries) are off-topic here. Especially here: the services offered by a 3rd party provider ... can change all the time. The answers you are looking for will be some links, and as man people have said here before: answers that only constitute of a link are a clear indication that the question answering to ... is off topic here. But still, I can understand that you are asking :-)
– GhostCat
Nov 8 at 9:59














I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
– koalaok
Nov 8 at 10:16




I see your points, And my question might be OT. But everything changes not only 3rd parties providers. On the second end... if this is OT on SO, what could be another option to ask about this within StackExchange?
– koalaok
Nov 8 at 10:16












There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
– GhostCat
Nov 8 at 10:18






There is softwarerecs.stackexchange.com ... but probably not a good fit either. You could turn to meta.stackexchange.com and ask there where to ask. Or on "our" meta: meta.stackoverflow.com
– GhostCat
Nov 8 at 10:18














1 Answer
1






active

oldest

votes

















up vote
1
down vote













AWS Step functions is close to what you are looking for. You can write your own workflow of executing Lambda functions (sequentially or parallel). In your case you need to process each chunk in parallel. It will go as follows:



Parallel Processing of chunks using AWS Step Functions



Note: I'm not aware of a way to dynamically run multiple Lambda functions in parallel using AWS Step Functions. If splitting the chunks into n parallel functions is not an option for you. I'd suggest you use SNS to trigger functions all in parallel and after each one finishes check if the others have saved their output to a store (S3/Dynamodb/Mysql ...etc). If yes, group all outputs and save their aggregation else do nothing. The only draw back to this is that you can't do this inside an HTTP lifecycle. The user will need to PULL for the status of the batch processing.






share|improve this answer























  • Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
    – koalaok
    Nov 8 at 10:34












  • you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
    – mostafazh
    Nov 8 at 10:42






  • 1




    Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
    – koalaok
    Nov 8 at 10:44











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204692%2fis-there-a-aws-service-to-chunk-and-perform-as-concurrent-a-bulk-request-to-a%23new-answer', 'question_page');
}
);

Post as a guest
































1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
1
down vote













AWS Step functions is close to what you are looking for. You can write your own workflow of executing Lambda functions (sequentially or parallel). In your case you need to process each chunk in parallel. It will go as follows:



Parallel Processing of chunks using AWS Step Functions



Note: I'm not aware of a way to dynamically run multiple Lambda functions in parallel using AWS Step Functions. If splitting the chunks into n parallel functions is not an option for you. I'd suggest you use SNS to trigger functions all in parallel and after each one finishes check if the others have saved their output to a store (S3/Dynamodb/Mysql ...etc). If yes, group all outputs and save their aggregation else do nothing. The only draw back to this is that you can't do this inside an HTTP lifecycle. The user will need to PULL for the status of the batch processing.






share|improve this answer























  • Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
    – koalaok
    Nov 8 at 10:34












  • you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
    – mostafazh
    Nov 8 at 10:42






  • 1




    Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
    – koalaok
    Nov 8 at 10:44















up vote
1
down vote













AWS Step functions is close to what you are looking for. You can write your own workflow of executing Lambda functions (sequentially or parallel). In your case you need to process each chunk in parallel. It will go as follows:



Parallel Processing of chunks using AWS Step Functions



Note: I'm not aware of a way to dynamically run multiple Lambda functions in parallel using AWS Step Functions. If splitting the chunks into n parallel functions is not an option for you. I'd suggest you use SNS to trigger functions all in parallel and after each one finishes check if the others have saved their output to a store (S3/Dynamodb/Mysql ...etc). If yes, group all outputs and save their aggregation else do nothing. The only draw back to this is that you can't do this inside an HTTP lifecycle. The user will need to PULL for the status of the batch processing.






share|improve this answer























  • Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
    – koalaok
    Nov 8 at 10:34












  • you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
    – mostafazh
    Nov 8 at 10:42






  • 1




    Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
    – koalaok
    Nov 8 at 10:44













up vote
1
down vote










up vote
1
down vote









AWS Step functions is close to what you are looking for. You can write your own workflow of executing Lambda functions (sequentially or parallel). In your case you need to process each chunk in parallel. It will go as follows:



Parallel Processing of chunks using AWS Step Functions



Note: I'm not aware of a way to dynamically run multiple Lambda functions in parallel using AWS Step Functions. If splitting the chunks into n parallel functions is not an option for you. I'd suggest you use SNS to trigger functions all in parallel and after each one finishes check if the others have saved their output to a store (S3/Dynamodb/Mysql ...etc). If yes, group all outputs and save their aggregation else do nothing. The only draw back to this is that you can't do this inside an HTTP lifecycle. The user will need to PULL for the status of the batch processing.






share|improve this answer














AWS Step functions is close to what you are looking for. You can write your own workflow of executing Lambda functions (sequentially or parallel). In your case you need to process each chunk in parallel. It will go as follows:



Parallel Processing of chunks using AWS Step Functions



Note: I'm not aware of a way to dynamically run multiple Lambda functions in parallel using AWS Step Functions. If splitting the chunks into n parallel functions is not an option for you. I'd suggest you use SNS to trigger functions all in parallel and after each one finishes check if the others have saved their output to a store (S3/Dynamodb/Mysql ...etc). If yes, group all outputs and save their aggregation else do nothing. The only draw back to this is that you can't do this inside an HTTP lifecycle. The user will need to PULL for the status of the batch processing.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 8 at 10:37

























answered Nov 8 at 9:56









mostafazh

1,506718




1,506718












  • Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
    – koalaok
    Nov 8 at 10:34












  • you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
    – mostafazh
    Nov 8 at 10:42






  • 1




    Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
    – koalaok
    Nov 8 at 10:44


















  • Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
    – koalaok
    Nov 8 at 10:34












  • you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
    – mostafazh
    Nov 8 at 10:42






  • 1




    Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
    – koalaok
    Nov 8 at 10:44
















Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
– koalaok
Nov 8 at 10:34






Let's say I have a json payload array containing many childern. I'd like to chunk them and give each chunk to a lambda instance (parallel execution), I'm still not sure in your design where I can put the json chunking logic.... and then the logic of merging back all lambda executions response to provide the client a seemlessy execution. Does AWS Step functions provides all of this?
– koalaok
Nov 8 at 10:34














you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
– mostafazh
Nov 8 at 10:42




you sadly have to specify the number of parallel executions in the Step function and not at runtime during the execution of the first function. If you used, for example 10, parallel functions than your first function breaks the input on you will get 10x the performance of single function. Then at the end combine the output of all 10 functions. See the "Parallel State Output" section in the AWS Docs link I've provided above. It will also be seamless to the client. Would this still work?
– mostafazh
Nov 8 at 10:42




1




1




Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
– koalaok
Nov 8 at 10:44




Not sure... I need to RTM about Step function and figure out. Anyway thanks for the hint by now.
– koalaok
Nov 8 at 10:44


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204692%2fis-there-a-aws-service-to-chunk-and-perform-as-concurrent-a-bulk-request-to-a%23new-answer', 'question_page');
}
);

Post as a guest




















































































Popular posts from this blog

鏡平學校

ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

Why https connections are so slow when debugging (stepping over) in Java?