Does Adam optimizer applicable to either method of distributed training BSP, ASP, SSP or it can be used with synchronous mode only ?
Adam alone in standard form is used for optimisation for a single dataset. Depending on your distributed algorithm, one can of course use Adam in local training part of algorithms, there is no restriction on that. However, there is a distributed version of Adam, so called DADAM. For DS type distributed setting, Adam can be used for local workers of course. (A)synchrony is about task scheduling rather than optimisation, so one can separate optimisation as an independent work load.